我们正在使用WebSphere 7- Application服务器来部署项目,并且这个应用程序服务器给出了像这样的简单JVM参数,
–Dsecurityresource=/web/sharedLibraries/security_config.xml -DConfig=/web/properties/Config.ini
但是当尝试启动应用程序服务器时,会抛出本机错误(native_stderr.log),
<?xml version="1.0" ?>
<verbosegc version="GA24_Java6_SR15_20131016_1337_B170922_CMPRSS">
<initialized>
<attribute name="gcPolicy" value="-Xgcpolicy:optthruput" />
<attribute name="maxHeapSize" value="0x100000000" />
<attribute name="initialHeapSize" value="0xc0000000" />
<attribute name="compressedRefs" value="true" />
<attribute name="compressedRefsDisplacement" value="0x0" />
<attribute name="compressedRefsShift" value="0x3" />
<attribute name="pageSize" value="0x10000" />
<attribute name="requestedPageSize" value="0x10000" />
</initialized>
Exception in thread "main" java.lang.NoClassDefFoundError: Dsecurityresource=.web.sharedLibraries.security-config.xml
Caused by: java.lang.ClassNotFoundException: Dsecurityresource=.web.sharedLibraries.FalconCluster.security-config.xml
at java.net.URLClassLoader.findClass(URLClassLoader.java:434)
at java.lang.ClassLoader.loadClass(ClassLoader.java:677)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:358)
at java.lang.ClassLoader.loadClass(ClassLoader.java:643)
</verbosegc>
Could not find the main class: Dsecurityresource=/web/sharedLibraries/security-config.xml. Program will exit.
JVM参数在WebSphere中的以下位置给出。
Servers > Server Types > WebSphere application servers > server_name >Java and process management > Process definition > Java virtual machine and in Generic JVM arguments
它很奇怪,因为它抛出了NoClassDefFoundError。
或者Websphere中是否有其他可能导致此问题的配置?
注意:JVM参数中提供的文件和路径存在且具有读取和执行权限
提前致谢。
答案 0 :(得分:10)
您在哪里设置这些参数?
您应该通过管理控制台设置它们:
Servers > Server Types > WebSphere application servers > server_name
。
然后,点击Java and process management > Process definition > Java virtual machine
要么把它们放在:
Generic JVM arguments
使用-Dparameter=value
Custom Properties
将参数定义为名称,将值定义为值 UPDATE
当我粘贴你的变量时,它包含以下隐形字符而不是-D并得到相同的异常:
–Dsecurityresource
然而,当我去:
C:\IBM\WebSphere\AppServer85\profiles\AppSrv1\config\cells\cellName\nodes\nodeBame\servers\server1
并在server.xml
文件中手动修复了条目,服务器正确启动。
<jvmEntries xmi:id="JavaVirtualMachine_1183121908656" .... genericJvmArguments="-Xquickstart -Dsecurityresource=/web/sharedLibraries/security_config.xml -DConfig=/web/properties/Config.ini" ...>
因此,请使用文本编辑器打开该文件,并在-
之前修复D
字符。