请问怎么在eclipse添加参数agentlib呢?

life923 2012-04-09 11:28:43
程序通过下面的方式运行类加载
java -agentlib:myclassloader Hello

然后我想在eclispe添加参数-agentlib:myclassloader

一直都没设置成功,
在eclipse.ini添加了-agentlib:myclassloader 也是不成功


请问要怎么设置呢?
...全文
682 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
magong 2012-04-13
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 的回复:]

哦 这个加密工具只是加密编译后的class文件,不能编译.java文件....

那这样就不能用于eclispe吧?
[/Quote]
哦。

你在Eclipse项目中,要将Hello.class文件放进去,还要加到build path中,这样Test类才能成功编译。项目才不会报错。
加.class目录时这样操作:
项目属性 -> build path - configure buildpath - libraries - add class folder
要注意.class文件的package层次必须要对哦。

运行的时候,如我在3楼所说,加-agentlib虚拟机参数。
life923 2012-04-12
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 的回复:]
引用 15 楼 的回复:
编译通过正常方式编译啊

因为myclassloader.dll是加密编译后的class的

所以编译没问题 正常的方式编译

你的意思是在命令行下,使用加密的Hello.class,编译Test类可以成功,
而在Eclipse中,使用加密的Hello.class,编译Test类不能成功。
是这样的吗?
[/Quote]

哦 这个加密工具只是加密编译后的class文件,不能编译.java文件....

那这样就不能用于eclispe吧?
magong 2012-04-12
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 的回复:]
编译通过正常方式编译啊

因为myclassloader.dll是加密编译后的class的

所以编译没问题 正常的方式编译
[/Quote]
你的意思是在命令行下,使用加密的Hello.class,编译Test类可以成功,
而在Eclipse中,使用加密的Hello.class,编译Test类不能成功。
是这样的吗?
magong 2012-04-12
  • 打赏
  • 举报
回复
嗯。现在其实不是运行的问题,而是编译的问题。
在命令行下你是如何完成编译的呢?
life923 2012-04-12
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 的回复:]
嗯。现在其实不是运行的问题,而是编译的问题。
在命令行下你是如何完成编译的呢?
[/Quote]

编译通过正常方式编译啊

因为myclassloader.dll是加密编译后的class的

所以编译没问题 正常的方式编译

magong 2012-04-11
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

我感觉应该在工程目录的.project 里面修改


[/Quote]
Eclipse用的Java编译器不是javac
所以参数怎么加还真是个问题。

顺便问下你用命令行javac命令编译是否可以成功,之后用java命令来运行又是否可以成功...
magong 2012-04-11
  • 打赏
  • 举报
回复
自动编译设置在这里:

window - preferences - general - workspace
life923 2012-04-11
  • 打赏
  • 举报
回复
我感觉应该在工程目录的.project 里面修改

<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>

<jvmarg value="-agentlib:C:\WINDOWS\myclassloader "/>
不知道这边参数怎么写正确

</arguments>
</buildCommand>
life923 2012-04-11
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]
[/Quote]

我加了好像没效果,

而且我把 builders 全部取消打勾了 还是显示红叉啊

应该是在哪里自动编译设置吧?
life923 2012-04-11
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]
引用 10 楼 的回复:

我感觉应该在工程目录的.project 里面修改



Eclipse用的Java编译器不是javac
所以参数怎么加还真是个问题。

顺便问下你用命令行javac命令编译是否可以成功,之后用java命令来运行又是否可以成功...
[/Quote]

用java 运行正常的
java -agentlib:myclassloader Hello
magong 2012-04-11
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

就是缺少类啊 我这个测试类很简单 提示缺少hello 因为我这hello.class是加密的,换回未加密的类后是正常的
[/Quote]
如果你在命令行下编译、运行都正常的话,
可以在Eclipse中,项目属性 -> builders
在这里面配置自己的构建器。

自定义构建器的具体做法参见:
http://www.ibm.com/developerworks/cn/education/opensource/os-eclipse-tools/section5.html
life923 2012-04-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
之前碰到过 在tomcat启动时去eclipse 的tomcat 服务中设置 具体是这样:双击eclipse中的tomcat 在eclipse中出现一个tomcat配置页面,点击open launch configuration 在第二个页签Arguments 中的 VM arguments中配置
[/Quote]

tomcat可以加
现在是在eclispe的自动编译时怎么加参数呢?
life923 2012-04-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
引用楼主 的回复:
程序通过下面的方式运行类加载
java -agentlib:myclassloader Hello


对运行Hello的run configuration做配置,
菜单run - run configurations - 选中你的Hello程序那项 - Arguments页 - 加入-agentlib:myclassloader
即可
[/Quote]

还没运行run啊,直接打开eclispe就提示红叉了 我设置eclispe自动编译的
life923 2012-04-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
引用 4 楼 的回复:

还没运行run啊,直接打开eclispe就提示红叉了 我设置eclispe自动编译的

提示红叉,和-agentlib:没有关系的。你看看markers视图(或problems视图)中有什么错误提示不。
[/Quote]

就是缺少类啊 我这个测试类很简单 提示缺少hello 因为我这hello.class是加密的,换回未加密的类后是正常的

package com;
public class Test {
public static void main(String[] args) {
Hello hello=new Hello();
hello.GetHello();
}
}
magong 2012-04-10
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
程序通过下面的方式运行类加载
java -agentlib:myclassloader Hello

[/Quote]
对运行Hello的run configuration做配置,
菜单run - run configurations - 选中你的Hello程序那项 - Arguments页 - 加入-agentlib:myclassloader
即可
greency 2012-04-10
  • 打赏
  • 举报
回复
之前碰到过 在tomcat启动时去eclipse 的tomcat 服务中设置 具体是这样:双击eclipse中的tomcat 在eclipse中出现一个tomcat配置页面,点击open launch configuration 在第二个页签Arguments 中的 VM arguments中配置
magong 2012-04-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

还没运行run啊,直接打开eclispe就提示红叉了 我设置eclispe自动编译的
[/Quote]
提示红叉,和-agentlib:没有关系的。你看看markers视图(或problems视图)中有什么错误提示不。

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧