Знайдіть файл класу .class, складений Eclipse

Питання (и):

Як я повинен скласти лише один клас? Як помістити його в файл класу (який я створив)? Чи не Eclipse просто автоматично компілює всі класи під час виконання?

Задня історія:

Я виконую навчальний посібник , і він повідомляє мені:

Покладіть складений клас у 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>() {
  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;
  }
 }
8
Ви можете використовувати javac для складання будь-якого java-файлу, який ви хочете, якщо це на вашому шляху.
додано Автор thatidiotguy, джерело
"Чи не Eclipse просто автоматично складають всі класи під час виконання?" - Eclipse автоматично компілює при введенні. Це один із способів швидкого виявлення помилок компіляції. Якщо ви подивіться в підкаталорі скриньки, ви побачите файли класу.
додано Автор Hovercraft Full Of Eels, джерело
Зазвичай затмение робить це для вас. Якщо ви перейдете до шляху збірки Eclipse (властивість правою кнопкою миші у вашому проекті -> build path), а потім виберіть "джерело", то воно має відображати папку виводу.
додано Автор Nathaniel Ford, джерело
@HovercraftFullOfEels Зауважте, що за замовчуванням Eclipse збирає, але не потрібно.
додано Автор Nathaniel Ford, джерело

7 Відповіді

Коли ви зберігаєте файл .java , Eclipse буде компілювати його в файл .class , якщо немає помилок компілятора. Зазвичай цей файл можна знайти в підкаталозі bin вашого проекту. Зокрема, він буде в bin/org/odata4j/tomcat , оскільки ви оголосили, що ваш клас належить до пакета org.odata4j.tomcat . Не соромтеся скопіювати цей файл де завгодно.

8
додано
Де повинен бути підкаталог?
додано Автор AllieCat, джерело
В корені проекту, але це може бути інша папка залежно від конфігурації проекту. Ви можете перевірити це в меню Властивості в розділі "Путь побудови".
додано Автор MaQy, джерело

your java file location should be: org/odata4j/tomcat/ExampleProducerFactory.java then you can on command line do: javac org/odata4j/tomcat/ExampleProducerFactory.java which will create the compiled class file: org/odata4j/tomcat/ExampleProducerFactory.class put that in a folder WEB-INF/classes/org/odata4j/tomcat/ExampleProducerFactory.class

but better yet, create "Dynamic Web Project" in eclipse, which will take care of everything for you (just use defaults). the end result will be a .war file which you can create by the menu option: file->export

такий файл .war може бути розгорнений у будь-якому веб-контейнері, такому як tomcat. шукайте каталог autodeploy у вашому tomcat або використовуйте консоль керування tomcat для його розгортання.

2
додано

I find my classes files in Project -> Properties -> Java Build Path at field Default output folder. To me the default was 'project-name/target/classes'.

2
додано
Оскільки ваш проект використовує Maven. Eclipse просто поважає це і використовує Maven конвенцій.
додано Автор G. Demecki, джерело

Після успішного складання .java, .class буде знаходитися у папці кошика під проектом робочої області .

1
додано

Для того, щоб це правильно працювало в Eclipse, потрібно працювати в "Динамічному веб-проекті", а не в простому "проекті Java", який недоступний в стандартній простій програмі Java для завантаження Eclipse.

Вам потрібно або завантажити, і використовувати смак Java EE в Eclipse, або додати WTP до вашої поточної установки, щоб отримати її.

Зауважте, що абсолютно найпростіший спосіб встати та працювати за допомогою простого веб-додатки - це використання Netbeans, яке за умовчанням належним чином провідним чином (включаючи Tomcat) в смаку Java EE.

0
додано

Припускаючи, що цей клас знаходиться у файлі під назвою ExampleProducerFactory.java , ви можете скомпілювати його в командному рядку, перейшовши до каталогу, що містить файл і набравши

javac ExampleProducerFactory.java

Це створить файл з назвою ExampleProducerFactory.class , який ви можете перемістити в потрібну директорію.

0
додано
Голос блокується, доки ви не відредагуєте свою відповідь. Так що ... Якщо ви редагуєте, я буду розкручувати.
додано Автор Dummy Code, джерело
@Henry Перевірте історію редагування. У той момент, коли я опублікував цю відповідь, було питання "Як скомпілювати тільки один клас Java?"
додано Автор Brian, джерело
Зверніть увагу, що якщо автоматична побудова Eclipse увімкнена, вона швидко перезапише файл, що виробляється, якщо ви випадково поставите цей файл класу в налаштований вихідний каталог. (наприклад, WEB-INF/classes )
додано Автор Nathaniel Ford, джерело

I simply open the java file location (in package explorer right click-->Show In -->System Explorer) go to top of the workspace and search for name of the file without extension. it gives me .class file as well. I just delete it.

0
додано
ІТ КПІ - Java
ІТ КПІ - Java
436 учасників