由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Java版 - com.sun.tools.javac.Main 问题
相关主题
ant javac error in eclipse 3.0?也问一个Eclipse的问题
classpath 和 lib/ext 的区别?[合集] How to get all classes under a package?
JBuilder questionJSP How to Invoke the Specific version of Xerces-J
请帮忙看看这个编译错误问个eclipse装jar的入门问题
Help!: tomcat classloading problem菜鸟问题一问
Re: Help!: tomcat classloading problemCruiseControl: out of memory problem
java深度历险 阅读笔记 zt[转载] Urgent Help needed about Java Servlet?
How big is the penalty for compile with debugging mode on?如何从java中调用Matlab
相关话题的讨论汇总
话题: main话题: classpath话题: 编译话题: compile
进入Java版参与讨论
1 (共1页)
c*****s
发帖数: 214
1
在程序里用com.sun.tools.javac.Main这个类编译一java文件时,用的是静态compile方
法。这个类里没有一个方法可以让你指定ClassLoader。
我现在遇到的问题是用Main.compile()方法编译时一堆类找不到,而我手上有认识这些类
的ClassLoader。
怎样才能让Main用我指定的ClassLoader来编译文件呢?
我已经试过用这个ClassLoader 动态得到Main类,动态调用compile方法,但结果一样。
先谢。
h**j
发帖数: 2033
2
如果你那个classloader能拿到classpath的话就当参数传给Main即可
等于contruct javac command
seems Main uses classpath of the default classloader if
no -classpath argument assigned.

【在 c*****s 的大作中提到】
: 在程序里用com.sun.tools.javac.Main这个类编译一java文件时,用的是静态compile方
: 法。这个类里没有一个方法可以让你指定ClassLoader。
: 我现在遇到的问题是用Main.compile()方法编译时一堆类找不到,而我手上有认识这些类
: 的ClassLoader。
: 怎样才能让Main用我指定的ClassLoader来编译文件呢?
: 我已经试过用这个ClassLoader 动态得到Main类,动态调用compile方法,但结果一样。
: 先谢。

m******t
发帖数: 2416
3




I am not sure the concept of classloader applies to compilation at all. The
compiler only recognizes one source path and one classpath.

【在 c*****s 的大作中提到】
: 在程序里用com.sun.tools.javac.Main这个类编译一java文件时,用的是静态compile方
: 法。这个类里没有一个方法可以让你指定ClassLoader。
: 我现在遇到的问题是用Main.compile()方法编译时一堆类找不到,而我手上有认识这些类
: 的ClassLoader。
: 怎样才能让Main用我指定的ClassLoader来编译文件呢?
: 我已经试过用这个ClassLoader 动态得到Main类,动态调用compile方法,但结果一样。
: 先谢。

c*****s
发帖数: 214
4
不是命令行编译,是在程序中直接用Main类编译。
我有的ClassLoader是ClassLoader对象不是classpath字符串。此ClassLoader不是URLCla
ssLoader所以拿不到所有的jar和目录路径。就算可以,也不能保证每层父ClassLoader可
以。

在程序里用com.sun.tools.javac.Main这个类编译一java文件时,用的是静态compile方
些类
样。

【在 h**j 的大作中提到】
: 如果你那个classloader能拿到classpath的话就当参数传给Main即可
: 等于contruct javac command
: seems Main uses classpath of the default classloader if
: no -classpath argument assigned.

c*****s
发帖数: 214
5

在程序里用com.sun.tools.javac.Main这个类编译一java文件时,用的是静态compile


如果要动态编译,一般手上有的会是一个ClassLoader而不是路径。
www.janino.net是个能接受ClassLoader的嵌入java编译器,但存在别的顾虑。
我的要求不是很高,如果javac Main可以还是用它实现。

【在 m******t 的大作中提到】
:
: 方
: 类
: 。
: I am not sure the concept of classloader applies to compilation at all. The
: compiler only recognizes one source path and one classpath.

1 (共1页)
进入Java版参与讨论
相关主题
如何从java中调用MatlabHelp!: tomcat classloading problem
java dumb question Re: Help!: tomcat classloading problem
how to add my own class into a jar file?java深度历险 阅读笔记 zt
问个java on linux的奇怪问题How big is the penalty for compile with debugging mode on?
ant javac error in eclipse 3.0?也问一个Eclipse的问题
classpath 和 lib/ext 的区别?[合集] How to get all classes under a package?
JBuilder questionJSP How to Invoke the Specific version of Xerces-J
请帮忙看看这个编译错误问个eclipse装jar的入门问题
相关话题的讨论汇总
话题: main话题: classpath话题: 编译话题: compile