我有两个java项目,animal项目和animal-test项目。在 animal 项目中,我有一个名为 Animal 的注释界面,如下所示
Animal.java
package com.animal;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface Animal{
String name();
}
除此之外,我还有一个接口(interface)MakeSound.java,它有一个名为makesSound()的方法。
现在我已经构建并创建了包含依赖项的 animal jar 文件,然后我在我的第二个项目 animal-test 中导入了 animal.jar>。我创建一个名为 AnimalTest.java 的类 我现在构建并创建一个 jar 文件 animal-test.jar ,当我运行 java -jar Animal-test.jar 这样的 jar 文件时,出现以下异常
no main manifest attribute, in animal-test.jar
任何人都可以帮我解决这个问题吗?
最佳答案
您还需要添加插件来在 pom.xml 中为动物测试创建 MANIFEST 文件。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.animal.AnimalFinder</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
关于java - 无法运行依赖项 main 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44550272/