mvn clean包:没有主要的清单属性

时间:2017-10-21 17:54:11

标签: java maven jar packaging manifest.mf

来自IDE的项目executes,如何创建 ul.link-list li { padding: 5px; } 以便实际运行hello world类型的控制台应用程序?

JAR

显然只需要为清单指定thufir@dur:~/NetBeansProjects/HelloMaven$ thufir@dur:~/NetBeansProjects/HelloMaven$ mvn clean package [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building HelloMaven 1.0-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ HelloMaven --- [INFO] Deleting /home/thufir/NetBeansProjects/HelloMaven/target [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ HelloMaven --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 0 resource [INFO] [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ HelloMaven --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 1 source file to /home/thufir/NetBeansProjects/HelloMaven/target/classes [INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ HelloMaven --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory /home/thufir/NetBeansProjects/HelloMaven/src/test/resources [INFO] [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ HelloMaven --- [INFO] Nothing to compile - all classes are up to date [INFO] [INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ HelloMaven --- [INFO] No tests to run. [INFO] [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ HelloMaven --- [INFO] Building jar: /home/thufir/NetBeansProjects/HelloMaven/target/HelloMaven-1.0-SNAPSHOT.jar [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 3.400 s [INFO] Finished at: 2017-10-21T10:50:42-07:00 [INFO] Final Memory: 14M/47M [INFO] ------------------------------------------------------------------------ thufir@dur:~/NetBeansProjects/HelloMaven$ thufir@dur:~/NetBeansProjects/HelloMaven$ tree . ├── nbactions.xml ├── pom.xml ├── src │   ├── main │   │   ├── java │   │   │   └── net │   │   │   └── bounceme │   │   │   └── dur │   │   │   └── hello_maven │   │   │   └── Main.java │   │   └── resources │   └── test │   └── java └── target ├── classes │   └── net │   └── bounceme │   └── dur │   └── hello_maven │   └── Main.class ├── generated-sources │   └── annotations ├── HelloMaven-1.0-SNAPSHOT.jar ├── maven-archiver │   └── pom.properties └── maven-status └── maven-compiler-plugin ├── compile │   └── default-compile │   ├── createdFiles.lst │   └── inputFiles.lst └── testCompile └── default-testCompile └── inputFiles.lst 25 directories, 9 files thufir@dur:~/NetBeansProjects/HelloMaven$ thufir@dur:~/NetBeansProjects/HelloMaven$ java -jar target/HelloMaven-1.0-SNAPSHOT.jar no main manifest attribute, in target/HelloMaven-1.0-SNAPSHOT.jar thufir@dur:~/NetBeansProjects/HelloMaven$ 条目。

只关注Main-Class phase

  

运行Maven Tools Maven阶段

     

虽然不是一个全面的清单,但这些是最常见的   执行默认生命周期阶段。

     

验证:验证项目是否正确以及所有必要的   信息可用编译:编译的源代码   项目测试:使用合适的单元测试编译的源代码   测试框架。这些测试不应要求打包代码   或部署包:获取已编译的代码并将其打包在其中   可分发的格式,例如JAR。集成测试:过程和   必要时将程序包部署到集成环境中   测试可以运行验证:运行任何检查以验证包是否有效   并符合质量标准安装:将包安装到本地   repository,用作本地部署的其他项目中的依赖项:   在集成或发布环境中完成,复制最终版本   打包到远程存储库以与其他开发人员共享   项目

1 个答案:

答案 0 :(得分:0)

我知道,这是使用阴影插件的问题:

thufir@dur:~/NetBeansProjects/HelloMaven$ 
thufir@dur:~/NetBeansProjects/HelloMaven$ mvn clean package
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] Building HelloMaven 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ HelloMaven ---
[INFO] Deleting /home/thufir/NetBeansProjects/HelloMaven/target
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ HelloMaven ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 0 resource
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ HelloMaven ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to /home/thufir/NetBeansProjects/HelloMaven/target/classes
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ HelloMaven ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /home/thufir/NetBeansProjects/HelloMaven/src/test/resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ HelloMaven ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ HelloMaven ---
[INFO] No tests to run.
[INFO] 
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ HelloMaven ---
[INFO] Building jar: /home/thufir/NetBeansProjects/HelloMaven/target/HelloMaven-1.0-SNAPSHOT.jar
[INFO] 
[INFO] --- maven-shade-plugin:3.1.0:shade (default) @ HelloMaven ---
[INFO] Replacing original artifact with shaded artifact.
[INFO] Replacing /home/thufir/NetBeansProjects/HelloMaven/target/HelloMaven-1.0-SNAPSHOT.jar with /home/thufir/NetBeansProjects/HelloMaven/target/HelloMaven-1.0-SNAPSHOT-shaded.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.805 s
[INFO] Finished at: 2017-10-21T11:02:31-07:00
[INFO] Final Memory: 17M/56M
[INFO] ------------------------------------------------------------------------
thufir@dur:~/NetBeansProjects/HelloMaven$ 
thufir@dur:~/NetBeansProjects/HelloMaven$ java -jar target/HelloMaven-1.0-SNAPSHOT.jar 
Oct 21, 2017 11:02:38 AM net.bounceme.dur.hello_maven.Main getGreeting
INFO: Hello world.
thufir@dur:~/NetBeansProjects/HelloMaven$ 
thufir@dur:~/NetBeansProjects/HelloMaven$ cat pom.xml 
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mycompany</groupId>
    <artifactId>HelloMaven</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.1.0</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <transformers>
                                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <mainClass>net.bounceme.dur.hello_maven.Main</mainClass>
                                </transformer>
                            </transformers>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>
thufir@dur:~/NetBeansProjects/HelloMaven$ 

http://maven.apache.org/plugins/maven-shade-plugin/examples/executable-jar.html