通过Windows命令行打包Maven项目

时间:2018-10-08 11:23:16

标签: java maven batch-file cmd

我想发布使用Maven构建的服务器。这个想法是,存在一个可以运行服务器的批处理文件和一个可以编译服务器的批处理文件(任何更新的代码,但是由于不编译某些更改而停止了过滤)。

在Maven中创建可部署的jar文件很烦人,因为它只能使用IDE:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <configuration>
        <archive>
            <manifest>
                <mainClass>
                    // Main class
                </mainClass>
            </manifest>
        </archive>
    </configuration>
</plugin>

然后执行mvn package。但是,下载服务器的潜在用户可能未安装MVN。有什么办法可以在Windows命令行中打包Maven项目? (CMD)我已经尝试过:

jar cvf MainClass.jar * // First attempt
jar cfe myJar.jar MainClass *.class // Second attempt

但是,它们中的每一个都不起作用,因为它包含多个包,因此我的结构看起来像

- Folder A
    - a.class
    - b.class
- Folder B
    - c.class
    - d.class
etc..

1 个答案:

答案 0 :(得分:1)

Maven通常由Java开发人员安装,但是如果您没有maven,则有一种解决方法:

您可以使用Spring boot maven包装器,不需要Spring boot依赖项,它只有2个脚本和一个带有jar的目录,可以在您的项目中复制/粘贴: mvnw 和mvnw.cmd和.mvn / *

在此处找到示例来源:

https://github.com/spring-guides/gs-spring-boot/blob/master/complete/mvnw

https://github.com/spring-guides/gs-spring-boot/blob/master/complete/mvnw.cmd

https://github.com/spring-guides/gs-spring-boot/tree/master/complete/.mvn/wrapper

它的工作原理类似于gradle包装器:

  • 它从小罐子中下载了一个maven运行时
  • 启动它。

CLI用法:

$ ./mvnw clean install

PS:这种方法的不便之处在于,您依赖于网络进行下载(如果需要,可以正确配置代理),并且您构建的每个项目都需要包装。