Maven跳过编译

sal*_*ira 23 java compilation maven

我想使用Maven来执行一个只需要源代码的插件,但我不希望Maven编译任何东西(主要是因为项目不能编译).

如何告诉Maven跳过编译步骤并启动其插件,然后将生成的资源打包在一个漂亮的JAR中?(我已经了解了最后一步的程序.)

附加信息:

所以我们现在尝试了很多东西,例如:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.0</version>
    <configuration>
        <excludes>
            <exclude>**/*</exclude>
        </excludes>
        <source>1.7</source>
            <target>1.7</target>
    </configuration>
    <executions>
        <execution>
            <phase>deploy</phase>
        </execution>
    </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

虽然我们做的mvn package时候会得到这个:

[INFO] --- maven-compiler-plugin:3.0:compile (default-compile) @ project ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling ALOTOF source files to /home/myname/dir/dir/project/target/classes
Run Code Online (Sandbox Code Playgroud)

消息编辑ofc.

卢声远*_* Lu 24

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-compiler-plugin</artifactId>
   <executions>
     <execution>
       <id>default-compile</id>
       <phase>compile</phase>
       <goals>
          <goal>compile</goal>
       </goals>
       <configuration>
         <skipMain>true</skipMain> <--Skip
       </configuration>
     </execution>
   </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

将其设置为"true"以绕过主要源的编译.它的使用不推荐,但偶尔也很方便.用户属性是:maven.main.skip.

mvn package -Dmaven.main.skip


Mat*_*ias 7

Maven功能部分在插件中组织,包含目标.这些目标可以在不属于生命周期的情况下执行.例如,对于jar-plugin的jar-goal,你会调用:

mvn jar:jar
Run Code Online (Sandbox Code Playgroud)

如果浏览可用插件列表,您可能会找到所需的功能.如果有必要,您甚至可以定义"程序集"以选择要捆绑到存档中的文件.