2017-08-28 171 views
1

新的Java脚本,请裸露在我身边。当启动tomcat时出现UnsatisfiedLineError

我试图在IBM Jazz Team Server中启用PKI/CAC身份验证。我添加了以下行java.security文件:当我拿出从server.xml文件中IBMCAC进入

security.provider.1=com.ibm.security.capi.IBMCAC <----- I added this line 
security.provider.2=com.ibm.jsse2.IBMJSSEProvider2 
security.provider.3=com.ibm.crypto.provider.IBMJCE 
security.provider.4=com.ibm.security.jgss.IBMJGSSProvider 
security.provider.5=com.ibm.security.cert.IBMCertPath 
security.provider.6=com.ibm.security.sasl.IBMSASL 
security.provider.7=com.ibm.xml.crypto.IBMXMLCryptoProvider 
security.provider.8=com.ibm.xml.enc.IBMXMLEncProvider 
security.provider.9=org.apache.harmony.security.provider.PolicyProvider 
security.provider.10=com.ibm.security.jgss.mech.spnego.IBMSPNEGO 

该脚本工作正常。

我收到以下错误,当我尝试启动tomcat:

PS C:\ Program Files文件\ IBM \ JazzTeamServer \服务器> \ server.startup.bat

Using CATALINA_BASE: "C:\Program Files\IBM\JazzTeamServer\server\tomcat" 
Using CATALINA_HOME: "C:\Program Files\IBM\JazzTeamServer\server\tomcat" 
Using CATALINA_TMPDIR: "C:\Program Files\IBM\JazzTeamServer\server\tomcat\temp" 
Using JRE_HOME:  "C:\Program Files\IBM\JazzTeamServer\server\jre" 
Using CLASSPATH:  "C:\Program Files\IBM\JazzTeamServer\server\tomcat\bin\bootstrap.jar;C:\Program Files\IBM\JazzTea 
mServer\server\tomcat\bin\tomcat-juli.jar" 
java.lang.UnsatisfiedLinkError: ibmcac (Not found in java.library.path) 
     at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1035) 
     at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:999) 
     at java.lang.System.loadLibrary(System.java:507) 
     at com.ibm.security.capi.IBMCAC$1.run(IBMCAC.java:58) 
     at java.security.AccessController.doPrivileged(AccessController.java:273) 
     at com.ibm.security.capi.IBMCAC.<clinit>(IBMCAC.java:55) 
     at java.lang.J9VMInternals.initializeImpl(Native Method) 
     at java.lang.J9VMInternals.initialize(J9VMInternals.java:201) 
     at java.lang.Class.forNameImpl(Native Method) 
     at java.lang.Class.forName(Class.java:218) 
     at org.apache.harmony.security.fortress.Services.newInstance(Services.java:1194) 
     at org.apache.harmony.security.fortress.Services.access$800(Services.java:60) 
     at org.apache.harmony.security.fortress.Services$NormalServices.createProviderInstance(Services.java:360) 
     at org.apache.harmony.security.fortress.Services$NormalServices.createExtProviderInstance(Services.java:338) 
     at org.apache.harmony.security.fortress.Services$NormalServices.access$1300(Services.java:165) 
     at org.apache.harmony.security.fortress.Services$NormalServices$3.run(Services.java:655) 
     at java.security.AccessController.doPrivileged(AccessController.java:273) 
     at org.apache.harmony.security.fortress.Services$NormalServices.loadExtProviders(Services.java:631) 
     at org.apache.harmony.security.fortress.Services$NormalServices.access$300(Services.java:165) 
     at org.apache.harmony.security.fortress.Services$NormalServices$1.run(Services.java:208) 
     at java.security.AccessController.doPrivileged(AccessController.java:273) 
     at org.apache.harmony.security.fortress.Services$NormalServices.<clinit>(Services.java:203) 
     at java.lang.J9VMInternals.initializeImpl(Native Method) 
     at java.lang.J9VMInternals.initialize(J9VMInternals.java:201) 
     at org.apache.harmony.security.fortress.Services.getProviders(Services.java:793) 
     at java.security.Security.getProviders(Security.java:246) 
     at org.apache.catalina.core.JreMemoryLeakPreventionListener.lifecycleEvent(JreMemoryLeakPreventionListener.java: 
407) 
     at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) 
     at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) 
     at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402) 
     at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:99) 
     at org.apache.catalina.startup.Catalina.load(Catalina.java:638) 
     at org.apache.catalina.startup.Catalina.load(Catalina.java:663) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) 
     at java.lang.reflect.Method.invoke(Method.java:611) 
     at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:280) 
     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:454) 
PS C:\Program Files\IBM\JazzTeamServer\server> 
+0

http://www-01.ibm.com/support/docview.wss?uid=swg1IV74802 – Eugene

回答

0

的JVM不能。找到ibmcac.dll文件。

检查路径环境变量。

+0

是的,我认为是这种情况,所以我在catalina.bat文件中添加了以下内容::noJuliManager set JAVA_OPTS =%JAVA_OPTS%%LOGGING_MANAGER% set JAVA_OPTS =“ - Djava.library.path = C:\ Program Files \ IBM \ JazzTeamServer \ server \ jre \ bin \ ibmcac.dll”我确信这是不正确的.. ..请你指点我正确的方向。 – Andre

+0

它的工作? – Xvolks

+0

对不起,没有它没有工作。 – Andre

相关问题