问题(S):
我应该如何编译一个类?如何将它放入类文件(我创建的)中? Eclipse是否只是在运行时自动编译所有类?
背景故事:
我正在关注tutorial并告诉我:
将编译后的类放入WEB-INF / classes。
班级是:
package org.odata4j.tomcat;
import java.util.Properties;
import org.core4j.Enumerable;
import org.core4j.Func;
import org.core4j.Funcs;
import org.odata4j.producer.ODataProducer;
import org.odata4j.producer.ODataProducerFactory;
import org.odata4j.producer.inmemory.InMemoryProducer;
public class ExampleProducerFactory implements ODataProducerFactory {
@Override
public ODataProducer create(Properties properties) {
InMemoryProducer producer = new InMemoryProducer("example");
// expose this jvm's thread information (Thread instances) as an entity-set called "Threads"
producer.register(Thread.class, Long.class, "Threads", new Func<Iterable<Thread>>() {
public Iterable<Thread> apply() {
ThreadGroup tg = Thread.currentThread().getThreadGroup();
while (tg.getParent() != null)
tg = tg.getParent();
Thread[] threads = new Thread[1000];
int count = tg.enumerate(threads, true);
return Enumerable.create(threads).take(count);
}
}, Funcs.method(Thread.class, Long.class, "getId"));
return producer;
}
}
答案 0 :(得分:9)
当您保存.java
文件时,如果没有编译器错误,Eclipse会将其编译为.class
文件。您通常可以在项目的bin
子目录中找到此文件。特别是,它将在bin/org/odata4j/tomcat
中,因为您声明您的类属于org.odata4j.tomcat
包。您可以随意将此文件复制到任何地方。
答案 1 :(得分:3)
我在 Project - &gt;中找到了我的课程文件属性 - &gt;字段默认输出文件夹中的 Java构建路径。 对我来说,默认是'project-name / target / classes'。
答案 2 :(得分:2)
您的java文件位置应为:org/odata4j/tomcat/ExampleProducerFactory.java
然后你可以在命令行上执行:javac org/odata4j/tomcat/ExampleProducerFactory.java
这将创建编译的类文件:org/odata4j/tomcat/ExampleProducerFactory.class
把它放在文件夹WEB-INF/classes/org/odata4j/tomcat/ExampleProducerFactory.class
但更好的是,在eclipse中创建“Dynamic Web Project”,它将为您处理所有事情(只使用默认值)。最终结果将是.war
文件,您可以通过菜单选项创建该文件:file-&gt; export
这样的.war
文件可以部署在任何Web容器中,例如tomcat。在tomcat中查找autodeploy目录,或使用tomcat管理控制台进行部署。
答案 3 :(得分:1)
成功编译.java后,.class将位于项目工作区下的bin文件夹中。
答案 4 :(得分:0)
假设此类位于名为ExampleProducerFactory.java
的文件中,您可以通过导航到包含该文件的目录并键入
javac ExampleProducerFactory.java
这将创建一个名为ExampleProducerFactory.class
的文件,您可以将其移动到所需的目录。
答案 5 :(得分:0)
为了在Eclipse中正常工作,您需要在“动态Web项目”中工作,而不是在普通的“Java项目”中工作,这在Eclipse的标准普通Java下载中是不可用的。
您需要下载并使用Eclipse的Java EE风格,或者将WTP添加到当前安装中以获取它。
请注意,使用简单Web应用程序启动和运行的绝对最简单的方法是使用Netbeans,默认情况下(在Java EE风格中)将其正确连接(包括Tomcat)。
答案 6 :(得分:0)
我只需打开java文件位置(在包浏览器中右键单击 - &gt;显示在 - &gt;系统资源管理器)转到工作区顶部并搜索没有扩展名的文件名。 它也给了我.class文件。我只是删除它。