| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
Стас123 Новичок
Зарегистрирован: 30.06.2009 Сообщения: 13
|
Добавлено: Июл 02, 2009 22:49 Заголовок сообщения: компиляция из командной строки |
|
|
Такой вопрос. Знаю как откомпелировать и запустить .java файл из командной строки.Команды javac и java, Но как это сделать, когда у тебя пакет, и в одном кассе создаётся объект другого класса, также написанного тебе но ещё не скомпилированного. Читал книгу Хорстмана.
Создал переменную claasspath , устанавливал путь в папку где находиться пакет, и в сам пакет. там три файла. Переопределённый Jpanel , который использует только уже библиотеку java, он компилируется. потом компилю Jframe , в котором находиться переопределённая JPanel , и тут он выдаёт ошибку о том, что видимо не может найти class Jpanel.
И второй вопрос. Как создать html файлы javadoc в эклипсе? |
|
| Вернуться к началу |
|
 |
Sadness Новичок
Зарегистрирован: 20.12.2008 Сообщения: 88
|
Добавлено: Июл 03, 2009 1:29 Заголовок сообщения: RE: компиляция из командной строки |
|
|
Стас123, а вы импортировали нужные пакеты? В вашем случае это:
| Код: |
import javax.swing.*; |
|
|
| Вернуться к началу |
|
 |
aleksandy Постоянный посетитель
Зарегистрирован: 19.03.2007 Сообщения: 539
|
Добавлено: Июл 03, 2009 5:42 Заголовок сообщения: Re: компиляция из командной строки |
|
|
Покажи как ты запускаешь компиляцию, а то из твоего вопроса я не понял ничего.
| Стас123 писал(а): |
| И второй вопрос. Как создать html файлы javadoc в эклипсе? |
Правой кнопкой мыши в Package Explorer-е -> Export -> Java -> Javadoc |
|
| Вернуться к началу |
|
 |
Стас123 Новичок
Зарегистрирован: 30.06.2009 Сообщения: 13
|
Добавлено: Июл 03, 2009 13:14 Заголовок сообщения: RE: компиляция из командной строки |
|
|
Sadness да импортировал. Эти файлы я без проблем компилирую и запускаю в еклипсе и все работает.
aleksandy Захожу в каталог с файлом Имя.java .Команда "javac Имя.java"компилирует, команда "java Имя"запускает .class файл.
javadoc не создаётся . Говорит Could not launch javadoc command |
|
| Вернуться к началу |
|
 |
infinity Постоянный посетитель

Зарегистрирован: 15.02.2008 Сообщения: 595 Откуда: Одесса
|
Добавлено: Июл 03, 2009 17:38 Заголовок сообщения: RE: компиляция из командной строки |
|
|
| Компилировать, запускать и создавать документацию нужно находясь в том же каталоге, что и верхний пакет, при этом указывать нужно полный путь к main-классу |
|
| Вернуться к началу |
|
 |
Стас123 Новичок
Зарегистрирован: 30.06.2009 Сообщения: 13
|
Добавлено: Июл 03, 2009 17:49 Заголовок сообщения: RE: компиляция из командной строки |
|
|
| infinity Напиши, пожалуйста подробнее |
|
| Вернуться к началу |
|
 |
infinity Постоянный посетитель

Зарегистрирован: 15.02.2008 Сообщения: 595 Откуда: Одесса
|
Добавлено: Июл 03, 2009 17:55 Заголовок сообщения: RE: компиляция из командной строки |
|
|
Например Ваш Main-класс находится в пакете MyPackage(т.е. первой строкой в Main.java написано package MyPackage;).
Тогда Вы находясь в том же каталоге, что и MyPackage выполняете сл. действия:
- Компиляция:
| Код: |
javac MyPackage/Main.java
|
- Выполнение:
- Построение документации:
| Код: |
javadoc -private MyPackage/Main.java
|
|
|
| Вернуться к началу |
|
 |
ur6lad шкипер

Зарегистрирован: 25.06.2009 Сообщения: 621 Откуда: KN89DX
|
Добавлено: Июл 03, 2009 19:24 Заголовок сообщения: RE: компиляция из командной строки |
|
|
Для компиляции и запуска можно просто указать sourcepath и classpath - и выполнять действия из любого каталога. javadoc - прочитайте документацию. _________________ чемпион 1970-го года по поиску в Google |
|
| Вернуться к началу |
|
 |
Стас123 Новичок
Зарегистрирован: 30.06.2009 Сообщения: 13
|
Добавлено: Июл 03, 2009 19:33 Заголовок сообщения: RE: компиляция из командной строки |
|
|
Пишет
SwingDemo/SwingDemo.java:27: cannot find symbol
symbol: class FirstJFrame
FirstJFrame my:
SwingDemo/SwingDemo.java:29: cannot find symbol
symbol: class FirstJFrame
my = new FirstJFrame("pPPP");
2 errors
SwingDemo - Main class
FirstJFrame переопределённый Jframe
FirstJPanel - переопределённый Jpanel
Все лежат в папке SwingDemo ,пакет SwingDemo
нормально компилируеться FirstJPanel.
SwingDemo, FirstJFrame - выдаёть ошибку |
|
| Вернуться к началу |
|
 |
almagnit Модератор

Зарегистрирован: 20.02.2009 Сообщения: 807 Откуда: Луганск
|
Добавлено: Июл 03, 2009 20:40 Заголовок сообщения: RE: компиляция из командной строки |
|
|
У Вас проблемы ?
Так почему мы до сих пор не видим кода
Думаю проблема с видимостью классов в Вашем пакете или с видимостью Вашего пакета в системе.
А как Вы определили работоспособность FirstJPanel, на сколько я понял он используется классом FirstJFrame , а тот создается в SwingDemo, правильно ? |
|
| Вернуться к началу |
|
 |
Стас123 Новичок
Зарегистрирован: 30.06.2009 Сообщения: 13
|
Добавлено: Июл 03, 2009 22:50 Заголовок сообщения: RE: компиляция из командной строки |
|
|
almagnit да, вы все правильно понял на счет взаимосвязи классов. В самих классах нет ощибок, т.к. они нормально компиляться в эклипсе.
SwingDemo
| Код: |
package SwingDemo;
import java.awt.SystemColor;
import java.io.IOException;
import java.net.MalformedURLException;
import java.util.Date;
import javax.swing.SwingUtilities;
public class SwingDemo {
public static void main(String args[])
{
System.out.printf("%8.2f",10000.0/3.0);
System.out.println(" ");
int i;
for(i=3;i>0;i--)
{
System.out.println(i);
}
System.out.println("Vne"+i);
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
FirstJFrame my;
try {
my = new FirstJFrame("pPPP");
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//my.setBackground(SystemColor.window);
}
});
}
}
|
FirstJFrame
| Код: |
package SwingDemo;
import java.awt.Dimension;
import java.awt.Image;
import java.awt.Toolkit;
import java.io.IOException;
import java.net.MalformedURLException;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class FirstJFrame extends JFrame{
FirstJFrame(String str) throws MalformedURLException, IOException {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Toolkit kit = Toolkit.getDefaultToolkit();
Dimension screenSize = kit.getScreenSize();
int screenW = screenSize.width;
int screenH = screenSize.height;
JLabel mylab = new JLabel("Lable "+screenW+" "+screenW);
Image img = kit.getImage("www.sos-dan.ru/images/avatars/yuki_ava24.gif");
setIconImage(img);//Don't work
setSize(screenW/2,screenH/2);
setLocation(screenW/4,screenH/4);
setTitle(str);
FirstJPanel panel = new FirstJPanel();
add(panel);
//add(mylab);
setVisible(true);
}
}
|
FirstJPanel
| Код: |
package SwingDemo;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Line2D;
import java.awt.geom.Rectangle2D;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.JPanel;
public class FirstJPanel extends JPanel{
Image img;
String URLname = "http://www.sos-dan.ru/images/avatars/yuki_ava18.gif";
public FirstJPanel() throws MalformedURLException, IOException
{
img=ImageIO.read(new URL(URLname));
// TODO Auto-generated constructor stub
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
int X=100;
int Y=100;
Graphics2D g2 = (Graphics2D) g;
double leftX = 20;
double topY = 50;
double width = 200;
double height = 200;
g2.drawString("SSS", X+20, Y+20);
Rectangle2D.Double rect = new Rectangle2D.Double(leftX,topY,width,height);
g2.draw(rect);
Ellipse2D ellipse = new Ellipse2D.Double();
ellipse.setFrame(rect);
g2.draw(ellipse);
g2.setPaint(new Color(255, 0,0));
g2.draw(new Line2D.Double(leftX,topY,leftX+width,topY+height));
g2.drawImage(img,0,0,null);
g2.drawString("RRR", X, Y);
}
}
|
|
|
| Вернуться к началу |
|
 |
ur6lad шкипер

Зарегистрирован: 25.06.2009 Сообщения: 621 Откуда: KN89DX
|
Добавлено: Июл 03, 2009 23:25 Заголовок сообщения: RE: компиляция из командной строки |
|
|
Телепаты в отпуске © Где текст команды компиляции и текст сообщения об ошибке?
| Код: |
$ javac -d tmp -sourcepath tmp/t1 tmp/t1/SwingDemo/*.java
$ java -cp tmp SwingDemo.SwingDemo
3333,33
3
2
1
Vne0
|
где tmp/t1 - папка, в которой, в которой лежат исходники _________________ чемпион 1970-го года по поиску в Google |
|
| Вернуться к началу |
|
 |
Стас123 Новичок
Зарегистрирован: 30.06.2009 Сообщения: 13
|
Добавлено: Июл 03, 2009 23:41 Заголовок сообщения: RE: компиляция из командной строки |
|
|
ur6lad Нахожусь в каталоге, в котором лежит папка с файлами.
текст команды компиляции
javac SwingDemo/SwingDemo.java
текст сообщения об ошибке
SwingDemo/SwingDemo.java:27: cannot find symbol
symbol: class FirstJFrame
FirstJFrame my:
SwingDemo/SwingDemo.java:29: cannot find symbol
symbol: class FirstJFrame
my = new FirstJFrame("pPPP"); |
|
| Вернуться к началу |
|
 |
ur6lad шкипер

Зарегистрирован: 25.06.2009 Сообщения: 621 Откуда: KN89DX
|
Добавлено: Июл 04, 2009 0:03 Заголовок сообщения: Re: RE: компиляция из командной строки |
|
|
| Стас123 писал(а): |
| ur6lad Нахожусь в каталоге, в котором лежит папка с файлами. |
Подозреваю что всё таки нет.
| Код: |
$ ls
SwingDemo
$ ls SwingDemo/
FirstJFrame.java FirstJPanel.java SwingDemo.java
|
| Код: |
$javac -d .. SwingDemo/SwingDemo.java
$ |
_________________ чемпион 1970-го года по поиску в Google |
|
| Вернуться к началу |
|
 |
Jean JavaTalks Team Member

Зарегистрирован: 28.12.2006 Сообщения: 1819 Откуда: Санкт-Петербург
|
Добавлено: Июл 04, 2009 1:37 Заголовок сообщения: RE: компиляция из командной строки |
|
|
В примерах есть описанный вами случай. Там описана компиляция класса в пакете по-умолчанию и в другом пакете =) _________________ Всякое решение плодит новые проблемы |
|
| Вернуться к началу |
|
 |
|