问题标签 [dcevm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 在 mac + eclipse 中设置 DCEVM
通过为 java 选择由 dcevm 和 dcevm altvm 替换,我有 dcevm 及其安装程序。安装后我面临以下问题:
- Eclipse 无法启动错误 无法启动 java 虚拟机。
- 使用 java cmd 运行一个类我得到以下错误。
objc[10585]:JavaLaunchHelper 类在两者中都实现
jdk1.8.0_112_DCEVM.jdk/Contents/Home/bin/java (0x10762c4c0) 和 /JavaVirtualMachines/jdk1.8.0_112_DCEVM.jdk/Contents/Home/jre/lib/libinstrument.dylib (0x1077434e0)。将使用两者之一。哪一个是未定义的。
有人面临以下问题吗?
maven - JBoss EAP 6.1 上的 Hotswap-agent - java.lang.OutOfMemoryError: PermGen space
我有一个要部署到 Jboss EAP 6.1 的 EAR 项目。我的 Maven 构建的产品如下所示:
这是我在部署应用程序时在 jboss 日志中得到的内容:
和
问题是,当我将耳朵部署到 jboss 中时,它大约需要正常时间的 10 倍,当我尝试从浏览器访问应用程序时,它会抛出“PermGen 空间:java.lang.OutOfMemoryError:PermGen 空间”。我厌倦了将我的 PermGen 内存增加到 700MB,但没有运气。所以我怀疑 hotswap-agent 正在监视我 EAR 中的所有类,包括 lib 目录中的类,这导致它消耗了太多内存。
我研究的下一个地方是默认禁用热交换,方法是在 hotswap-agent.properties 中放置 autoHotswap=false。如上所示,我尝试将此文件放置在 EAR 以及 EJB 和 WAR 类路径中,但没有任何区别。我也尝试过像这样添加到 JVM_OPTS 中,但无济于事:
所以我的问题是,如何在我的环境中控制热插拔代理?还有一种方法可以只查看指定包中的类,比如“com.foobar”吗?最后,为 jboss 上的 ear 部署配置 hotswap-agent 的正确方法是什么。
java - 如何使用 dcevm+hotswapagent 在 IDE 外的 Tomcat 上热交换 Java 类
我正在尝试在我的机器上的 Tomcat 上设置 java 类热交换,但未在我的 IDE (Eclipse) 中配置。在所有示例中,我都可以找到 Tomcat 服务器在 Eclipse 中运行。是否可以在外部 tomcat 上使用 DCEVM+HotSwapAgent 进行代码热交换?这是我到目前为止所做的:
- 将 DCEVM 设置为 altjvm 以供
jdk1.8.0_112
使用DCEVM-light-8u112-installer.jar
- 更新了 Tomcat 的启动以包含以下内容:
set JAVA_OPTS=-XXaltjvm=dcevm -javaagent:<path-to>hotswap-agent-1.0.jar %JAVA_OPTS%
- 部署了我的应用程序,
war
其中包括hotswap-agent.properties
WEB-INF/classes
在我的hotswap-agent.properties
文件中,我已将该extraClasspath
属性设置为我的bin
Eclipse 工作区中的项目文件夹。我也设置autoHotswap=true
了(无论是否附加了调试器,我都希望进行代码热插拔)。
使用此设置,当我在 eclipse 中构建(它设置为自动构建)时,我无法让 Tomcat 对更改做出反应。我错过了一些东西来让它工作吗?
旁注 - 我已经用 JRebel 完成了与上述完全相同的事情,所以我知道这至少是可能的。我只是想看看我是否可以让它与所有开源工具一起工作。提前致谢!
maven - dcevm 与 maven
我正在我的笔记本电脑上设置 dcevm,以便可以将代码部署到服务器,而无需mvn clean install
为我所做的每个服务器端更改运行。我使用 jre 管理它为我工作。
但是现在如果我尝试使用 maven 命令手动构建项目mvn clean install
。它给了我错误,说您使用的是 jre 而不是 jdk。
那么有什么方法可以让我同时使用这两个选项来构建和部署服务器端代码。手动使用 maven 命令并自动使用 dcevm??
maven - Java SE 和 Java EE 中的热插拔代理
我发现 Hotswapagent 在 SE 和 EE 应用程序中的工作方式不同。在 SE 应用程序中,我可以毫无问题地向类添加新属性(例如 private Long x;),Hotswap 可以更新代码。但是我无法在 JSF ManagedBean 的 EE 应用程序中执行此操作,我得到“虚拟机不支持此操作:未实现架构更改”。
我的 EE 应用程序是带有 Wildfly 10 的 Netbeans 8.2 中的 Maven 企业应用程序(ejb、web、ear 项目)。我使用 DCEVM (jdk1.8.0_112) 和 Hotswapagent 1.1.0。
简单的代码更改(例如编辑方法主体)在 SE 和 EE 应用程序中都有效,但它不能在 ejb 和 web 项目中处理新属性的创建。我想知道我是否在设置上犯了一些错误,或者这是因为 SE 和 EE 环境之间的差异。感谢您的任何想法。
java - 热插拔代理,添加新类
我可以在 Hotswap Agent 上添加新课程吗?我尝试更改名称方法、方法体、字段,并且工作正常,但是当我添加新类并在另一个应用程序崩溃时调用它时,不要执行该类的内容并且不显示错误。
java-8 - Java JVM - Java9 的 DCEVM 支持
有人为 jdk9 构建过 DCEVM dll 吗?这是一个非常高效的 JVM,缺点是缺少 G1 gc(仅使用串行 GC atm)。我希望得到一些关于如何为 java9 构建它的提示。
问候,
osgi - 生产中的罐子热交换
我有一堆服务器的生产舰队。我想知道在生产中使用 JRebel、DCEVM + Hotswap 代理或基于 OSGi 框架的捆绑重新加载技术的可行性。据我了解,JRebel 的产品功能非常丰富,但我不知道在生产中使用它是否安全。他们的许可证似乎将开发人员计算在内,这也表明其目的是迎合开发人员而不是生产系统。
java - 如果我只更改 JSP,是否可以避免在 WebLogic 中重新部署项目?
我有一个在 WebLogic 服务器内部运行的项目。我对代码所做的 80% 更改仅影响 JSP 文件(不影响类文件)。这些 JSP 文件包含前端逻辑。
每当我更改 JSP 页面时,我都需要执行以下步骤来查看我的更改:
mvn install
在源目录中。- 在 WebLogic 管理控制台中重新部署应用程序(“部署”、“更新”)。
如果我唯一改变的是 JSP 文件(因此我不接触 Java 文件,没有修改类文件),是否可以避免这两个步骤?
请注意,所讨论的应用程序是在 WebLogic 中设置的,因此它读取包含类文件 ( myProject/target
) 的目录,而不是 WAR 文件。
我没有确切的信息 JRebel 是否支持 WebLogic。根据此处的最后一条语句,我知道的唯一替代方案DCEVM不支持 WebLogic 。
更新 1(02.05.2018 15:23 MSK):更改
至
在myProject/src/main/webapp/WEB-INF/weblogic.xml
没有帮助。当我部署应用程序,然后对 JSP 文件进行更改,然后运行mvn install
时,更改不会生效。
java - DCEVM 远程调试
我想创建一个开发环境,我的 java 应用程序将在虚拟机中运行,代码将在主机上编写和管理。
虚拟机内的 java 应用程序将使用 DCEVM,因为我想在远程调试应用程序时使用增强的类重定义。
相同版本的 Java(与 DCEVM 兼容)将安装在虚拟机和主机上。
过去是否有人处理过类似的设置并且可以建议这种设置是否可行?
我很想知道远程调试和增强的类重新定义在这个设置中是否有效?