Frequently asked questions
Why does OpenRocket still use Java? Python and web-based programs are the future.
Why does OpenRocket still use Java? Python and web-based programs are the future.
How do I set up my development environment?
How do I set up my development environment?
How do I run OpenRocket from source?
How do I run OpenRocket from source?
main method in your IDE from either:swing/src/main/java/info/openrocket/swing/startup/SwingStartup.javaswing/src/main/java/info/openrocket/swing/startup/OpenRocket.java
How do I contribute to OpenRocket?
How do I contribute to OpenRocket?
- Comment on an issue before starting work to avoid duplicate effort.
- Use atomic commits — one fix or feature per commit.
- Name commits in the format
[#<issue>] Brief description. - Structure pull request descriptions as: problem, root cause, fix.
Where can I find the API documentation?
Where can I find the API documentation?
core/build/docs/javadoc/.How do I run the tests?
How do I run the tests?
Build issues
Gradle fails with "Could not find or load main class"
Gradle fails with "Could not find or load main class"
java -version shows a version below 17, install a Java 17 JDK and update your JAVA_HOME environment variable.Gradle fails with dependency resolution errors
Gradle fails with dependency resolution errors
~/.gradle/caches/ and try again.Build fails because coverage thresholds are not met
Build fails because coverage thresholds are not met
core module enforces a minimum of 60% test coverage. If JAR packaging fails with a coverage error, run the coverage report to identify what is missing:core/build/reports/jacoco/index.html to see which classes and methods are not covered.Runtime issues
The 3D view doesn't work or causes a crash
The 3D view doesn't work or causes a crash
"Application.injector is null" when embedding the core module
"Application.injector is null" when embedding the core module
OpenRocketCore.initialize() before using any other OpenRocket classes:Motor or component database fails to load
Motor or component database fails to load