Gradle 格拉德尔+;货物+;JBoss 5.1=java.lang.ClassNotFoundException:org.jnp.interfaces.NamingContextFactory
我试图在远程JBoss 5.1.0.GA容器上部署一个war文件,使用一个gradle构建文件和Benjamin Muschko()的gradle Cargo插件 在一个非常简单的项目上启动cargoDeployRemote任务时,我遇到了一个java.lang.ClassNotFoundException:org.jnp.interfaces.NamingContextFactory。 这篇文章帮助我建立了依赖关系。 缺少的类NamingContextFactory也在jboss中定义为varia依赖项。很明显,我肯定错过了什么 该项目只是一个包含以下Gradle脚本的文件夹,仅此而已。 我必须补充一点,我从linux虚拟机(运行ArchLinux的virtualbox来宾)内部运行构建脚本,并且我希望在主机上运行的JBoss 5.1.0.GA服务器上远程部署。我可以通过来宾的网关地址(10.0.2.2)访问JBoss,所以我想这不是问题所在 我试图提供最简单的gradle构建文件来显示这个问题。 有没有关于应该做些什么来实现这一目标的线索?谢谢你的帮助 这是我的build.gradle文件:Gradle 格拉德尔+;货物+;JBoss 5.1=java.lang.ClassNotFoundException:org.jnp.interfaces.NamingContextFactory,gradle,dependencies,jboss5.x,cargo,Gradle,Dependencies,Jboss5.x,Cargo,我试图在远程JBoss 5.1.0.GA容器上部署一个war文件,使用一个gradle构建文件和Benjamin Muschko()的gradle Cargo插件 在一个非常简单的项目上启动cargoDeployRemote任务时,我遇到了一个java.lang.ClassNotFoundException:org.jnp.interfaces.NamingContextFactory。 这篇文章帮助我建立了依赖关系。 缺少的类NamingContextFactory也在jboss中定义为var
apply plugin: 'war'
apply plugin: 'com.bmuschko.cargo'
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.bmuschko:gradle-cargo-plugin:2.1.1'
}
}
repositories {
mavenCentral()
dependencies {
providedCompile 'org.jboss.jbossas:jboss-as-jbossas-remoting:5.1.0.GA'
providedCompile 'org.jboss.jbossas:jboss-as-client:5.1.0.GA'
providedCompile 'org.jboss.jbossas:jboss-as-varia:5.1.0.GA'
providedCompile 'org.jboss.integration:jboss-profileservice-spi:5.1.0.GA'
}
}
cargo {
containerId = 'jboss51x'
port = 8080
remote {
username = "admin"
password = "admin"
hostname = "10.0.2.2"
}
deployable {
context = 'myawesomewebapp'
}
}
以下是“gradle cargoDeployRemote-i”的输出,显示了错误:
正在执行任务“:cargoDeployRemote”(最新检查耗时0.002秒)
由于:Task.uptdatewhen为false。容器ID=jboss51x
可部署工件=[/home/gerald/testapp/build/libs/testapp.war]
在上启动远程容器“JBoss 5.1.x”的操作“部署”
“”容器属性=[:]:cargoDeployRemote
失败:cargoDeployRemote(线程[守护进程工作线程14,5,主])
完整的。花了0.588秒
失败:生成失败,出现异常
- 错误:任务“:cargoDeployRemote”的执行失败。org.codehaus.cargo.container.ContainerException:未能创建 具有实现类的部署器 org.codehaus.cargo.container.jboss.JBoss51xRemoteDeployer用于 参数(容器[id=[jboss51x]],部署器类型[remote])
Caused by: org.codehaus.cargo.container.ContainerException: Failed to create deployer with implementation class org.codehaus.cargo.container.jboss.JBoss51xRemoteDeployer for the parameters (container [id = [jboss51x]], deployer type [remote]).
at org.codehaus.cargo.generic.spi.AbstractGenericHintFactory.createImplementation(AbstractGenericHintFactory.java:156)
at org.codehaus.cargo.generic.spi.AbstractIntrospectionGenericHintFactory.createImplementation(AbstractIntrospectionGenericHintFactory.java:93)
at org.codehaus.cargo.generic.deployer.DefaultDeployerFactory.createDeployer(DefaultDeployerFactory.java:140)
at org.codehaus.cargo.generic.deployer.DefaultDeployerFactory.createDeployer(DefaultDeployerFactory.java:160)
at org.codehaus.cargo.ant.CargoTask.executeActions(CargoTask.java:758)
at org.codehaus.cargo.ant.CargoTask.execute(CargoTask.java:577)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
... 70 more
Caused by: java.lang.reflect.InvocationTargetException
at org.codehaus.cargo.generic.deployer.DefaultDeployerFactory.createInstance(DefaultDeployerFactory.java:244)
at org.codehaus.cargo.generic.deployer.DefaultDeployerFactory.createInstance(DefaultDeployerFactory.java:42)
at org.codehaus.cargo.generic.spi.AbstractGenericHintFactory.createImplementation(AbstractGenericHintFactory.java:150)
... 77 more
Caused by: org.codehaus.cargo.util.CargoException: Cannot locate the JBoss connector classes! Make sure the required JBoss JARs (or Maven dependencies) are in CARGO's classpath.
More information on: http://cargo.codehaus.org/JBoss+Remote+Deployer
at org.codehaus.cargo.container.jboss.JBoss5xRemoteDeployer.<init>(JBoss5xRemoteDeployer.java:161)
at org.codehaus.cargo.container.jboss.JBoss51xRemoteDeployer.<init>(JBoss51xRemoteDeployer.java:41)
... 80 more
Caused by: java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFactory
at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1366)
at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1315)
at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:1068)
at org.codehaus.cargo.container.jboss.JBoss5xRemoteDeployer.<init>(JBoss5xRemoteDeployer.java:156)
... 81 more
原因:org.codehaus.cargo.container.ContainerException:未能为参数(container[id=[jboss51x]],部署程序类型[remote])创建实现类为org.codehaus.cargo.container.jboss.JBoss51xRemoteDeployer的部署程序。
位于org.codehaus.cargo.generic.spi.AbstractGenericHandFactory.createImplementation(AbstractGenericHandFactory.java:156)
位于org.codehaus.cargo.generic.spi.AbstractIntrospectionEnericinFactory.createImplementation(AbstractIntrospectionEnericinFactory.java:93)
位于org.codehaus.cargo.generic.deployer.DefaultDeployerFactory.createDeployer(DefaultDeployerFactory.java:140)
位于org.codehaus.cargo.generic.deployer.DefaultDeployerFactory.createDeployer(DefaultDeployerFactory.java:160)
位于org.codehaus.cargo.ant.CargoTask.executeActions(CargoTask.java:758)
位于org.codehaus.cargo.ant.CargoTask.execute(CargoTask.java:577)
位于org.apache.tools.ant.UnknowneElement.execute(unknowneElement.java:292)
位于org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
... 70多
原因:java.lang.reflect.InvocationTargetException
位于org.codehaus.cargo.generic.deployer.DefaultDeployerFactory.createInstance(DefaultDeployerFactory.java:244)
位于org.codehaus.cargo.generic.deployer.DefaultDeployerFactory.createInstance(DefaultDeployerFactory.java:42)
位于org.codehaus.cargo.generic.spi.AbstractGenericHandFactory.createImplementation(AbstractGenericHandFactory.java:150)
... 还有77个
原因:org.codehaus.cargo.util.CargoException:找不到JBoss连接器类!确保所需的JBoss JAR(或Maven依赖项)位于CARGO的类路径中。
更多关于:http://cargo.codehaus.org/JBoss+远程+部署器
位于org.codehaus.cargo.container.jboss.JBoss5xRemoteDeployer。(JBoss5xRemoteDeployer.java:161)
位于org.codehaus.cargo.container.jboss.JBoss51xRemoteDeployer(JBoss51xRemoteDeployer.java:41)
... 80多
原因:java.lang.ClassNotFoundException:org.jnp.interfaces.NamingContextFactory
位于org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1366)
位于org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1315)
位于org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:1068)
位于org.codehaus.cargo.container.jboss.JBoss5xRemoteDeployer。(JBoss5xRemoteDeployer.java:156)
... 81多
我在以下资源中找到了答案:
我从以下资源中找到了答案:
您的repositories.dependencies.providedCompile似乎放错了位置。这些可能是buildscript.dependencies.classpath。也就是说,我对java.lang.ClassNotFoundException有同样的问题:org.jnp.interfaces.NamingContextFactory,如果您能分享在这里找到的任何答案,我将不胜感激。您的repositories.dependencies.providedCompile似乎放错地方了。这些可能是buildscript.dependencies.classpath。也就是说,我对java.lang.ClassNotFoundException有同样的问题:org.jnp.interfaces.NamingContextFactory,如果您能分享在这里找到的任何答案,我将不胜感激。您的repositories.dependencies.providedCompile似乎放错地方了。这些可能是buildscript.dependencies.classpath。也就是说,我对java.lang.ClassNotFoundException也有同样的问题:org.jnp.interfaces.NamingContextFactory,如果您能分享您找到的任何答案,我将不胜感激
apply plugin: 'ear'
apply plugin: 'com.bmuschko.cargo'
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.bmuschko:gradle-cargo-plugin:2.2.1'
}
}
repositories {
//Order of repositories is significant and will effect finding of jaas module
maven {
name = "JBoss Deprecated Maven Repository"
url = "https://repository.jboss.org/nexus/content/repositories/deprecated"
}
maven {
url 'https://repository.jboss.org/nexus/content/groups/public/'
}
maven {
name = "JBoss.org third party releases repository"
url = "https://repository.jboss.org/nexus/content/repositories/thirdparty-releases"
}
mavenCentral()
jcenter()
}
dependencies {
// My app specific modules taken out from here
def cargoVersion = '1.4.5'
cargo "org.codehaus.cargo:cargo-core-uberjar:$cargoVersion",
"org.codehaus.cargo:cargo-ant:$cargoVersion"
cargo 'org.jboss.jbossas:jboss-as-jbossas-remoting:5.1.0.GA'
cargo 'org.jboss.jbossas:jboss-as-client:5.1.0.GA'
cargo 'org.jboss.jbossas:jboss-as-varia:5.1.0.GA'
cargo 'org.jboss.integration:jboss-profileservice-spi:5.1.0.GA'
}
cargo {
containerId = 'jboss51x'
port = 8009
remote {
hostname = project.hostname
username = project.username
password = project.password
}
}