intellij中是否有一个插件可以打包项目中的所有内容并创建一个shell脚本来启动应用程序?

时间:2011-12-21 02:41:45

标签: java deployment intellij-idea

这看起来像是一个直接的插件,我想知道它是否已经存在(是的,我搜索过)。我有一个带有一些lib依赖项的项目。

我正在寻找以下内容:

  1. 将根据您的源代码构建的类添加到一个或多个jar中
  2. 收集源依赖的jar文件
  3. 创建一个小shell脚本以将类路径设置为依赖项,并启动主类。
  4. 将所有这些打包在一个整洁的小包中,这样你就可以拿下这个zip / tar并在另一台机器上进行部署。
  5. 当然有人写了这样一个简单的部署者?我在插件仓库中找不到一个

2 个答案:

答案 0 :(得分:1)

我不确定IntelliJ是否有类似的东西,但Maven肯定会做你需要的。您可以将Maven(http://maven.apache.org/)与Assembly插件(http://maven.apache.org/plugins/maven-assembly-plugin/)一起使用。通过一些简单的配置,您将获得Maven为您打包一个zip文件,并在子文件夹中包含所有必需的JAR文件。然后,您可以使用下面的脚本运行应用程序:

execute.cmd:
%JAVA_HOME%\bin\java -Xms512m -Xmx512m -classpath "../lib/*" yourPackage.YourClassName

上面的脚本假定了一个预定义的JAVA_HOME环境变量。还有其他选项,如WinRun4J,可以启动您的应用程序。

Maven是一个非常棒的工具 - 不仅可以从命令行生成包含所有内容的ZIP文件,而且还可以管理所有应用程序依赖项,并且它可以很好地与各种SCM工具集成,从而为您提供强大的功能工具,如发布插件(http://maven.apache.org/plugins/maven-release-plugin/)和其他工具。

答案 1 :(得分:1)

此类工具是几年前创建的,名为BuildDesk。然而,它并不是很受欢迎,该项目已经停止(自2009年以来没有更新)。我不知道它是否仍然与当前的IntelliJ IDEA版本兼容。

目前解决方案是使用Maven,Ant或它们与内置Artifacts feature的组合。 IDEA已经可以创建一个具有所有必需依赖项的可执行Jar,您需要的唯一额外内容是shell脚本或可执行包装器,如launch4jExe4j。如果您有服务,请考虑JavaServiceWrapper