当前位置: 首页 > 知识库问答 >
问题:

未正确读取WebSphere Application Server JVM参数

桂宏旷
2023-03-14

我们使用WebSphere 7- Application server来部署项目,这个应用服务器被赋予了简单的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参数中提供的文件和路径存在并具有读取和执行权限

提前谢谢。

共有1个答案

徐昊焜
2023-03-14

您在哪里设置这些参数?
您应该通过管理控制台进行设置:
服务器

或者把它们放在:

  • 使用-D参数=值
  • 的通用JVM参数
  • 自定义属性将参数定义为名称,将值定义为值

UPDATE
粘贴变量后,它包含以下不可见字符,而不是-D,并出现相同的异常

–Dsecurityresource

然而,当我去:

C:\IBM\WebSphere\AppServer85\profiles\AppSrv1\config\cells\cellName\nodes\nodeBame\servers\server1 

并手动修复服务器中的条目.xml文件,服务器正确启动。

 <jvmEntries xmi:id="JavaVirtualMachine_1183121908656" .... genericJvmArguments="-Xquickstart -Dsecurityresource=/web/sharedLibraries/security_config.xml -DConfig=/web/properties/Config.ini" ...>

因此,请使用文本编辑器打开该文件,并修复第一个D之前的 - char。

 类似资料:
  • 所以我有这个代码: 最初我有正常的,但我改成了这个,因为我认为这可能是一个标题问题。然而,我仍然没有检测到我的或。但是,它在中接收数据。 你知道怎么了吗? 编辑 好吧,我想我知道怎么了。它将其作为json对象发布,因此只能在php://输入中读取。如何将其更改为axios中的普通字符串?

  • 我试图设置cookie来定义用户首选的语言。我通过一个指向助手控制器的链接做到了这一点: /设置区域设置/{locale} 我知道这是正确的,因为如果我这样做: 它显示所选择的正确区域设置。所以下一步是使用中间件实际应用这个选择的语言环境,我把它命名为“设置语言环境”: 但如果我执行 在中间件中,它读取所有加扰的cookie。所以我的问题是为什么它会这样做,我如何从这里正确地读取cookie?

  • 我发现其他人也有同样的问题,他们的问题通过在InputStreamReader构造函数中指定UTF-8来解决: 以UTF-8形式读取InputStream 这对我不起作用,我也不知道为什么。无论我尝试什么,我总是得到转义的unicode值(斜杠-U+十六进制),而不是实际的语言字符。我在这里做错了什么?提前道谢! 请注意:这不是字体问题。我之所以知道这一点,是因为如果我对同一个文件使用Resour

  • 我有以下应用程序(我对这个框架很陌生),我想看到缓存大小(增加),因为它从队列中读取消息,但它一直保持为0。 有人能告诉我缺失了什么/错了什么吗? 谢谢!

  • 我正在尝试为现有的Laravel项目实现一个简单的本地化。 基于以下教程实现本地化: https://laraveldaily.com/multi-language-routes-and-locales-with-auth/ 以下是本地化实施前的简化代码: web.php PollsController@view 测验 网址:http://domain.name/poll/1 结果:poll_id

  • 我想以UTF-8快速地逐行读取大的csv文件(大约~1GB)。我已经为它创建了一个类,但它不能正常工作。UTF-8从2字节解码西里尔符号。我使用字节缓冲区来读取它,例如,它有10个字节的长度。因此,如果文件中的符号由10和11字节组成,它将无法正常解码:(