我试图创建一个jar文件但是当我尝试运行它时,我得到java.lang.IllegalStateException: Location is not set.
这就是我在代码中加载它的方式:
FXMLLoader loader = new FXMLLoader(Main.class.getResource("/view/MainView.fxml"));
jar文件是使用intellij构建的:项目结构 - >工件
解决
我设法通过添加
来解决它与maven <resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.fxml</include>
<include>**/*.css</include>
</includes>
</resource>
</resources>
和maven-assembly-plugin
答案 0 :(得分:2)
通过IDE构建项目并不是一个好主意。它会更改项目的目录结构,因此您对fxml文件的相对路径不再正确。如果使用Maven构建项目,则应该解决该问题。然后将maven-compiler-plugin
添加到生成的pom.xml。
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
...
</plugin>
...
</plugins>