繁体   English   中英

在没有Maven的情况下构建Maven项目

[英]Building Maven project without Maven

我有Maven项目,但是在其中一台服务器上,我必须在没有Maven的情况下进行构建。
使用标准的JDK命令是可能的。 在构建项目时,我在哪里可以看到Maven向JDK发送了哪些命令?

Maven做了很多。 没有Maven,没有简单的方法来模拟Maven的功能。

如果您绝对不能在服务器上安装Maven,请在另一台服务器(或本地)上构建构件,然后通过scp将其移动到服务器上。

就是说:我曾经有过类似的场景,我从Maven生成了一个RPM,该服务器绝对需要运行本地版本,但不能运行Maven(禁止网络访问)。 我所做的就是将所有依赖项放入RPM中,再加上一个Ant发行版和一个Ant构建文件。 在RPM安装脚本中,解压缩了依赖项,并调用了Ant脚本。 它起作用了,但这意味着双重努力。

这是我的解决方案。 当然是硬代码,项目很小,但是对我来说是有帮助的

项目结构:
主文件夹
-依赖关系(目录)
-module1-src ...
-module2-src ...
-manufest.template(文件)
module2具有对module1的依赖关系,module1与JDK1.5相兼容,module2与JDK1.6相兼容。

@echo off

set JODA=dependency\joda-time-1.6.2.jar
set EJB=dependency\ejb-api-3.0.jar
set PERSISTANCE_API=dependency\persistence-api-1.0.jar
set DEPENDENCIES=%EJB%;%JODA%;%PERSISTANCE_API%
set TEMP_FILE=temp
set PUBLIC_INTERFACE_CLASSES=target\target-module1
set CODEGEN_CLASSES=target\target-module2
mkdir target
mkdir %MODULE1_CLASSES%
mkdir %MODULE2_CLASSES%

dir module1\*.java /s /B > %TEMP_FILE%
%JAVA_HOME_1_5%\bin\javac -classpath %DEPENDENCIES%;%MODULE1_CLASSES% -d %MODULE1_CLASSES% @%TEMP_FILE%

dir module2\*.java /s /B > %TEMP_FILE%
%JAVA_HOME_1_6%\bin\javac -classpath %DEPENDENCIES%;%JAVA_HOME_1_6%\lib\tools.jar;%MODULE1_CLASSES%;%MODULE2_CLASSES% -d %MODULE2_CLASSES% @%TEMP_FILE%

jar cf module1.jar -C %MODULE1_CLASSES% .
jar cfm module2.jar manifest.template -C %MODULE2_CLASSES% .

rm %TEMP_FILE%
rm -r target

您可以从此处下载依赖项: http : //jar-download.com/online-maven-download-tool.php 因此,您不需要安装Maven。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM