无法运行依赖主要功能

时间:2017-06-14 16:37:30

标签: java maven reflection jar dependencies

我有两个java项目,动物项目和动物测试项目。在动物项目中,我有一个名为动物的注释界面,如下所示

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();
} 

除此之外,我还有一个接口 MakeSound.java ,它有一个名为 makesSound()的方法。

现在我已经构建并创建了包含依赖项的动物 jar文件,然后我在第二个项目中导入了 animal.jar 动物测试。我创建了一个名为 AnimalTest.java 的类 我现在构建并创建一个jar文件 animal-test.jar ,当我运行jar文件时,如 java -jar animal-test.jar ,我得到以下异常

no main manifest attribute, in animal-test.jar

任何人都可以帮助我。

1 个答案:

答案 0 :(得分:2)

您需要添加插件以在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>