Maven - 错误找不到或加载主类



我试图在Linux上构建这个例子:https://github.com/oltzen/JavaCppExample 使用Maven(mvn全新安装(。 成功构建后,当我运行:java de.oltzen.javacppexample.Abc :它说"无法加载或找到主类">

视频教程(https://www.youtube.com/watch?v=LZrrqZLhtmw(使用Eclipse,它使用运行方式..运行程序。爪哇应用程序

POM文件是否缺少某些内容?

我尝试在POM中添加此插件,但它不起作用:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>de.oltzen.javacppexample.Abc</mainClass>
</manifest>
</archive>
</configuration>
</plugin>

我正在从JavaCpp示例/目标/类/执行:-

/classes 文件夹包含包文件夹:de/oltzen/javacppexample/最后一个文件夹包含类文件 Abc.class

所以我运行命令:
java de.oltzen.javacppexample.Abc

/target 文件夹包含: 1( 类 [包含包的文件夹] 2( JavaCpp示例.jar 3( 专家存档器 4( 专家状态

请帮忙

我为 maven copy 依赖项添加了以下插件并执行了java -jar javaCppExample.jar[来自/target folder]并且它起作用了。谢谢大家!

[只需使用mvn 全新安装构建]

<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
<target>1.8</target>
<source>1.8</source>
</configuration>
</plugin>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib/</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
</execution>
</executions>
</plugin>

<plugin>
<!--  Build an executable JAR -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>de.oltzen.javacppexample.Abc</mainClass>
</manifest>
</archive>
</configuration>
</plugin>

如果您只想通过 maven 运行您的 prgramm,请使用 exec-maven-plugin。

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>de.oltzen.javacppexample.Abc</mainClass>
</configuration>
</plugin>

在这里探索更多 => https://www.mojohaus.org/exec-maven-plugin/index.html

如果你想构建和运行作为jar,那么使用汇编插件

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<appendAssemblyId>true</appendAssemblyId>
<descriptors>
<descriptor>${project.basedir}/assembly/assembly.xml</descriptor>
</descriptors>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>de.oltzen.javacppexample.Abc</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>install</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>

探索有关Maven程序集插件的更多信息,以根据您的需求进行自定义。

最新更新