我已经设置了一个简单的Weblogic客户端作为Maven项目,该项目解决了weblogic的依赖关系
maven.oracle.com
它与mvn install
编译良好,但在实际运行时使用
java -verbose -cp target/simple-1.0-SNAPSHOT.jar org.test.App
它死了:
java.lang.NoClassDefFoundError: weblogic的/ XML /密码/ WSS /供应商/ CredentialProvider at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2625) at java.lang.Class.getMethod0(Class.java:2866) 在java.lang.Class.getMethod(Class.java:1676) 在sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:494) 在sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:486) 引起:java.lang.ClassNotFoundException: weblogic.xml.crypto.wss.provider.CredentialProvider 在java.net.URLClassLoader $ 1.run(URLClassLoader.java:359) 在java.net.URLClassLoader $ 1.run(URLClassLoader.java:348) at java.security.AccessController.doPrivileged(Native Method) 在java.net.URLClassLoader.findClass(URLClassLoader.java:347) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ......还有6个
如果事实上找不到weblogic.xml.crypto.wss.provider.CredentialProvider
,那么它在编译时也会失败,但事实并非如此。
它可能有什么问题?是配置错误吗? 感谢
@duffymo是正确的。在安装了shade插件并检查生成的包之后,我发现缺少依赖。
这是我的pom.xml文件的依赖关系,它来自maven.oracle.com
<dependencies>
<dependency>
<groupId>com.oracle.weblogic</groupId>
<artifactId>weblogic-server-pom</artifactId>
<version>LATEST</version>
<type>pom</type>
<scope>provided</scope> </dependency>
<dependency>
<groupId>com.oracle.weblogic</groupId>
<artifactId>wlsafclient</artifactId>
<version>LATEST</version> </dependency>
<dependency>
<groupId>com.oracle.weblogic</groupId>
<artifactId>wlclient</artifactId>
<version>LATEST</version> </dependency>
<dependency>
<groupId>com.oracle.weblogic</groupId>
<artifactId>wljmsclient</artifactId>
<version>LATEST</version> </dependency>
</dependencies>