Java项目在IDE (IntelliJ Idea)中运行,但在Maven构建后无法运行



我有一个准备发布的Java项目,但是我在最后一个障碍上绊倒了。该程序在IDE中运行良好,但是在我运行mvn clean install并成功创建目标jar之后,应用程序在命令行和IDE中都失败了。我可以让它在IDE中再次运行,从IDE内进行重建。

还有其他人经历过类似的事情吗?

mvn clean install后的错误为

2014-08-08_10:38:20.328 INFO  coza.modh.fxplatform.Controller - Application start
2014-08-08_10:38:20.344 INFO  c.m.f.c.p.DataSourceFactory - Connecting to Database.
2014-08-08_10:38:20.499 INFO  coza.modh.fxplatform.Controller - Model created
Exception in thread "main" java.lang.NullPointerException
    at coza.modh.fxplatform.view.MainView.<init>(MainView.java:46)
    at coza.modh.fxplatform.Controller.startup(Controller.java:40)
    at coza.modh.fxplatform.Application.main(Application.java:7)

它失败的那行看起来像这样:

setContentPane(contentPane);

如果我在IDE中重新构建,那么变量在到达这里时不是空的,但是在mvn命令之后,变量在到达这一点时是空的。

编辑:有人指出,可能与我使用了intelllij GUI设计工具而Maven可能无法与之结合有关。可能性?

我今天遇到了类似的问题。解决问题-

首先,将以下内容添加到pom.xml

<dependency>
   <groupId>com.intellij</groupId>
   <artifactId>forms_rt</artifactId>
   <version>5.0</version>
</dependency>

其次,正如你所说的,使用正确的maven插件来创建构建。

contentPane不太可能为空,但请检查。无论如何都要进行一次干净的构建。可能行号不完全正确

通常问题是资源,如应用程序图标。

  • 它们是而不是File,而是压缩在jar中。所以像/src/main/resources/…
  • 不使用反斜杠
  • 此外,文件路径是区分大小写的

这可能是由不同的库版本引起的,您是否更改了Eclipse中的构建路径?(项目->属性->构建路径->库)。应该只有"JRE系统库"。如果有更多,那么它可能会被加载,而不是Maven依赖项之一。您使用"mvn clean install"意味着它是针对Maven依赖项编译的,因此它的运行方式不同。

  • 在运行代码
  • 之前在系统上安装Maven(没有IDE)
  • 确保您已将系统属性M2_HOME设置为Maven安装位置,并将Maven bin文件夹添加到PATH
  • 进入包含项目pom.xml的目录,输入"mvn install"+ Enter来构建项目

  • 如果它是一个简单的项目,打包成JAR,你可以通过在控制台中输入这样的内容来运行它:

$ java -cp target/simple-1.0-SNAPSHOT.jar org.yourcompany.projectNam.App并输入

相关内容

最新更新