我现在正在接受java.lang.OutOfMemoryError: PermGen space.我正在使用Jetty和Linux Ubuntu.我曾尝试阅读和尝试以前类似问题中提供的不同解决方案,但我没有取得任何成功.一个类似的问题是
处理"java.lang.OutOfMemoryError:PermGen space"错误
但这些解决方案似乎使用Tomcat而不是Jetty.如果我重新部署我的服务几次,我会不断出现记忆错误.例如,要测试这个,我将转到我的webapps文件夹并运行touch*.xml来更新时间戳,然后重新运行jetty,我得到了内存不足错误.在我的jetty文件夹(包含bin,doc等,lib,日志,模块,start.jar)我正在运行
java -jar ../start.jar
Run Code Online (Sandbox Code Playgroud)
但这给了我错误.然后我尝试了我在其他示例中读到的内容,例如:
java -jar ../start.jar JAVA_OPTS="-Xms256m -Xmx512m -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled"
Run Code Online (Sandbox Code Playgroud)
要么
-XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled
Run Code Online (Sandbox Code Playgroud)
要么
-XX:MaxPermSize=128m
Run Code Online (Sandbox Code Playgroud)
然后当我去firefox并导航localhost:8080并刷新时,在终端中我一直收到错误
java.lang.OutOfMemoryError: PermGen space
Run Code Online (Sandbox Code Playgroud) 我有一个pom文件,其中包含以下信息:
<modelVersion>4.0.0</modelVersion>
<groupId>com.site.camera</groupId>
<artifactId>proj3</artifactId>
<packaging>pom</packaging>
<version>2.6</version>
<name>Proj 3</name>
Run Code Online (Sandbox Code Playgroud)
我正在编写一个bash脚本,并希望能够打开这个文件(pom.xml)并删除版本(例如在这种情况下为2.6).我这样做是因为当我更新版本时,我希望我的脚本的其余部分用它来更新.
我尝试过的事情:
var=$(grep <version>2.6</version> pom.xml)
echo $var
Run Code Online (Sandbox Code Playgroud)
请注意,我在pom文件中有多个版本参数.我需要这个特定的版本,包含这个名称,包装,artifactId等.