我的课程:
package com.your.company.cli;
import com.github.domain.cli.Cli;
import com.your.company.utils.MySuperClass;
public class Hello {
public static void main(String[] args) throws TechnicalException {
new Cli().runcli(MySuperClass.class, args);
}
}
在我的Eclipse上没问题:
我需要通过命令行运行我的类。 (经过Maven编译(mvn clean install))
java -cp .... ???? com.your.company.cli.Hello ... ???
编辑1:
我尝试java -jar myproject.jar
aucun attribut manifest principal dans myproject.jar
我尝试java -cp myproject.jar com.your.company.cli.Hello
不可能de trouver la classe principale com.your.company.cli.Hello
编辑2:
我尝试添加maven-jar-plugin
,但我的结果是Maven jar(不是胖罐)。我正在寻找一个没有jar文件的commande行的解决方案( juste与Eclipse相同的行为)。
答案 0 :(得分:1)
我找不到修改项目的解决方案:
mvn clean install
mvn exec:java -Dexec.mainClass=com.your.company.cli.Hello
答案 1 :(得分:0)
您可以启动使用java -jar /target/myproject.jar
创建的jar文件。
您无法使用java -cp ...
或javac
,因为您需要将所有java文件放在同一个文件夹中进行编译。
因为生成错误aucun attribut manifest principal dans myproject.jar
因为java找不到主类我建议你将它添加到你的pom.xml文件中
`
<build>
<plugins>
<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>com.mypackage.MyClass</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
并提及主要班级的全名
[UPDATE]
如果您有多个家属,并且想要将所有家属包含在最后一个罐子中,您可以使用maven-assembly-plugin
这样:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<archive>
<manifest>
<mainClass>${mainClass}</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</execution>
</executions>
</plugin>
您必须替换 ${mainClass}
与您的主要班级全名