我在Netbeans 8(linux)上有一个maven项目。
我的项目是一个maven应用程序,我必须' export'作为JAR可运行的JAVA应用程序。虽然我在Netbeans中开发系统,一切都可以正常使用maven依赖项,但是在编译并生成目标文件夹中的.jar文件后,我得到了错误NoClassDefFoundError。在我通过谷歌搜索时,我发现当我在开发环境中拥有依赖项时会导致此问题,而不是在使用类路径编译时。
一个解决方案是在项目中包含依赖jar作为库,但是我失去了maven功能。我不想做,就在最后一种情况。
如果不在项目中添加依赖项作为库,我该如何解决这个问题呢?
非常感谢!
答案 0 :(得分:0)
您没有使用正确的maven插件来生成可运行的JAR,这意味着jar中包含所有依赖项。 这是它应该是什么样子
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<finalName>.....</finalName>
<outputDirectory>${basedir}</outputDirectory>
<archive>
<manifest>
<mainClass>......</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
您配置的是生成jar文件的标准maven插件,但不包含依赖项。
答案 1 :(得分:0)
生成错误的原因是Hibernate和POI。
AskAgain:
Orientation = InputBox(Prompt:="Enter P for Portriait, L for Landscape")
Select Case UCase(Orientation)
Case "L"
Selection.PageSetup.Orientation = wdOrientLandscape
Case "P"
Selection.PageSetup.Orientation = wdOrientPortrait
Case Else
GoTo AskAgain
End Select