如何使用Gradle向ejbdeploy.bat提供依赖项列表
我们最近开始使用Gradle(1.12)来构建我们的应用程序组件,我们首先开始进行EJB部署。这就是我们正在努力实现的目标:如何使用Gradle向ejbdeploy.bat提供依赖项列表,gradle,build.gradle,Gradle,Build.gradle,我们最近开始使用Gradle(1.12)来构建我们的应用程序组件,我们首先开始进行EJB部署。这就是我们正在努力实现的目标: 编译一个位于项目目录/ejbModule的源代码集(这包括java类和META-INF文件夹,其中包含ejb-jar.xml和其他与websphere相关的xml) 创建一个包含上述包和资源的jar 运行位于%WAS_HOME%\bin的ejbdeploy.bat,它将输入作为在步骤2中创建的jar,这将创建存根/骨架,并将jar重新打包到不同的目录中 现在这是我的gra
def wasHome = 'C:/Data/IBM/WebSphere/AppServer'
def internalClasses = 'C:/GoldCopy1/Workspace/chimessharedlib'
def appPath = 'C:/GoldCopy1/Workspace/IEApp'
apply plugin:'java'
repositories {
flatDir {
dirs wasHome + '/lib'
dirs internalClasses
dirs appPath
}
}
dependencies {
compile name : 'j2ee'
compile name : 'commons-lang-2.3'
compile name : 'FW'
compile name : 'Common'
compile name : 'DA'
compile name : 'ST'
}
sourceSets {
main {
java {
srcDir '/ejbModule'
}
resources {
srcDir '/ejbModule'
}
}
}
task runEJBDeploy (type:Exec) {
commandLine wasHome + '/bin/ejbdeploy.bat', '/C'
def inputJar = "" + libsDir + File.separator + 'AR.jar';
println inputJar;
def argsList = [inputJar, "C:\\tpp" , "C:\\tpp\\deploy\\AR.jar" , "-complianceLevel", "5.0"]
args = argsList;
}
因此,通过运行上面的runEJBDeploy任务,我想生成如下命令:
ejbdeploy.bat -cp "C:\tpp\FW.jar;C:\tpp\DA.jar;C:\tpp\Common.jar" C:\tpp\AR.jar C:\tpp C:\tpp\deployed\AR.jar -complianceLevel 5.0
既然build.gradle文件的dependencies{}部分已经提供了FW、DA和Common,那么有没有办法使用这些依赖项将其附加到“-cp”之后,然后运行命令
我是gradle的新手,所以请指出任何其他错误的方法,需要改进
提前感谢无法直接执行Windows批处理脚本。相反,您必须执行
cmd/C batchScriptPath
。您可以设置命令行
,也可以同时设置可执行文件
和参数
(前者是后者的组合)类路径arg可以通过配置.compile.asPath
生成。Peter我能够使用上面提供的生成文件执行批处理文件,并且ejbdeploy任务成功运行,但是由于它不包含依赖项,因此无法说出常规ClassNotFoundException或NoClassDefFoundError。Peter,添加coconfigurations.compile.asPath成功了。我能够执行ejbDeploy并生成存根。谢谢!