Skocz do zawartości

Java: Stdout + Jtextarea


Sanczo

Rekomendowane odpowiedzi

Witam

 

Probuje zrobic banalna rzecz: kiedy pisze cos w JTextArea chce aby to jednoczesnie pojawialo sie na standardowe wyjscie (praktycznie rownolegle).

Problem w tym ze na standardowe wyjscie znaki trafiaja dopiero po znaku nowej lini.

Druga sprawa: w jaki sposob mozna ustawic standardowe wyjscie na np. JTextArea, pomimo jakis niby tutoriali w sieci nie udalo mi sie tego zrobic.

 

o to kodzik:

 

package test;

import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import java.io.PrintStream;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;

public class Main extends JFrame{
private JButton start = new JButton("Start");
private JButton quit = new JButton("Quit");
private JTextArea text = new JTextArea("");

static final private String title ="Main window";
private int width = 500;
private int height = 500;
private int posX = 100;
private int posY = 100;

private JPanel panel = new JPanel();

public Main() {
	super(title);

	Container cont = getContentPane();
	cont.add(panel);

	panel.setLayout(new FlowLayout());
	panel.add(start);
	panel.add(quit);
	panel.add(text);

	text.setPreferredSize(new Dimension(40,30));

	quit.addActionListener(new QuitL());
	text.getDocument().addDocumentListener(new TextL());

	setBounds(posX, posY, width, height);

	addMouseListener(new ML());
	addMouseMotionListener(new MML());

	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	setVisible(true);
}

class QuitL implements ActionListener{   
	public void actionPerformed(ActionEvent e) {
		System.out.println("Bye");
		System.exit(0);
	}
}

class TextL implements DocumentListener{  
	public void removeUpdate(DocumentEvent e) {
	}

	public void insertUpdate(DocumentEvent e) {
		char znak;			
		String str = text.getText();

		znak = str.charAt(str.length() - 1);
		System.out.println(znak); 
	}

	public void changedUpdate(DocumentEvent e) {
	}
}	

public void setwidth(int width){
	this.width = width;
}

public void setHeight(int height){
	this.height = height;
}

public void setPosX(int pos){
	this.posX  = pos;
}

public void setPosY(int pos){
	this.posY = pos;
}

public int getWidth(){
	return width;
}

public int getHeight(){
	return height;
}

public int getPosX(){
	return posX;
}

public int getY(){
	return posY;
}

class ML extends MouseAdapter{

	public void mousePressed(MouseEvent e) {
		System.out.println("mouse adapter");
	}
}

class MML extends MouseMotionAdapter {
	public void mouseMoved(MouseEvent e) {
	}
}

public static void main(String[] args) {
	Main okno = new Main();


}

}

 

pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

Problem w tym ze na standardowe wyjscie znaki trafiaja dopiero po znaku nowej lini.

Ponieważ używasz:
System.out.println("");

Podczas, gdy chodzi Ci pewnie o:

System.out.print("");

które to nie wstawia nowej linii po wypisaniu łańcucha.

 

w jaki sposob mozna ustawic standardowe wyjscie na np. JTextArea, pomimo jakis niby tutoriali w sieci nie udalo mi sie tego zrobic
Krótko mówiąc - nie zrobisz tego. System.out jest obiektem pobieranym z systemu - czyli generalnie zależnym od danego systemy operacyjnego ale standardowo wyjściem na konsolę.

 

Może więc inaczej. Co chcesz zrobić? Tylko wypisać coś na JTextArea? Możesz wyorzystać metodę setText(String str) lub append(String str). Zerknij na moje przeróbki:

package test;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;

public class Main extends JFrame{
private JButton start = new JButton("Start");
private JButton quit = new JButton("Quit");
private JButton clear = new JButton("Clear");
private JTextArea text = new JTextArea();
private JTextArea txtArea = new JTextArea();

static final private String title ="Main window";
private int width = 500;
private int height = 500;
private int posX = 100;
private int posY = 100;

private JPanel panel = new JPanel();

public Main() {
	super(title);
	getContentPane().setLayout(new BorderLayout());

	getContentPane().add(panel, BorderLayout.NORTH);		
	panel.setLayout(new FlowLayout());
	panel.add(start);
	quit.addActionListener(new QuitL());
	panel.add(quit);
	clear.addActionListener(new ClearL());
	panel.add(clear);
	text.getDocument().addDocumentListener(new TextL());
	text.setPreferredSize(new Dimension(50,20));
	panel.add(text);				

	txtArea.setEditable(false);
	getContentPane().add(txtArea, BorderLayout.CENTER);

	setBounds(posX, posY, width, height);		
	addMouseListener(new ML());
	addMouseMotionListener(new MML());		
	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	setVisible(true);
}

class QuitL implements ActionListener{  
	public void actionPerformed(ActionEvent e) {
		System.out.println("Bye");
		System.exit(0);
	}
}

class ClearL implements ActionListener{  
	public void actionPerformed(ActionEvent e) {
		System.out.println("");
		txtArea.setText("");
	}
}

class TextL implements DocumentListener{  
	public void removeUpdate(DocumentEvent e) {
	}

	public void insertUpdate(DocumentEvent e) {
		char znak = text.getText().charAt( text.getText().length() - 1 );
		System.out.print(znak);
		txtArea.append("" + znak);			
	}

	public void changedUpdate(DocumentEvent e) {
	}
}	

class ML extends MouseAdapter{

	public void mousePressed(MouseEvent e) {
		System.out.println("mouse adapter");
	}
}

class MML extends MouseMotionAdapter {
	public void mouseMoved(MouseEvent e) {
	}
}

public static void main(String[] args) {
   new Main();
}   
}

 

Jeśli chodziło Ci o coś innego - wal śmiało! :)

Edytowane przez lszk
Odnośnik do komentarza
Udostępnij na innych stronach

Problem w tym ze na standardowe wyjscie znaki trafiaja dopiero po znaku nowej lini.

Ponieważ używasz:

CODE

System.out.println("");

Podczas, gdy chodzi Ci pewnie o:

CODE

System.out.print("");

które to nie wstawia nowej linii po wypisaniu łańcucha.

 

Tak ale nie o to mi chodzilo. Rzecz w tym zeby po wpisaniu dowolnego znaku z klawiatury ten znak pokazal sie takze na stdout i to bez potrzeby robienia CRLF ("\n") czy tez opruznienia bufora (flush). jednym slowem chce dostawac na stdout kolejne znaki w jednej lini.

Uzucie samego System.out.print(""); nie spowoduje wypisania tekstu na stdout potrzebne jest opruznienie bufora.

 

w jaki sposob mozna ustawic standardowe wyjscie na np. JTextArea, pomimo jakis niby tutoriali w sieci nie udalo mi sie tego zrobic

Krótko mówiąc - nie zrobisz tego. System.out jest obiektem pobieranym z systemu - czyli generalnie zależnym od danego systemy operacyjnego ale standardowo wyjściem na konsolę.

 

Chodzi o przekierowanie stdout na inny strumien, takie rzeczy bez problemu daja sie zrobic np. przekierowanie stdout do pliku itd. -> System.setOut( new FileWriter("plik.txt") ) ... (cos w ten desen)

Trodniej jest sie dokopac do pola tekstowego komponentu Swing, bo nie bardzo wiadomo jaki typ stream'a trzeba wybrac aby dobrac sie do jego kontekstu...

 

Może więc inaczej. Co chcesz zrobić? Tylko wypisać coś na JTextArea?

Powiedzmy ze chce napisac applet ktory bedzie zawierac pole JtextArea sluzace do wypisywania tego co trafia na stdout, czyli debug itd.

 

Tylko wypisać coś na JTextArea? Możesz wyorzystać metodę setText(String str) lub append(String str).

Twoj kod jest w porzadku, kiedys juz uzylem podobnej konstrukcji. Jednak teraz w momencie kiedy robie System.out chce dostawac to w JTextarea tak jakbym robil append.

 

 

ps. stdout -> przyzwyczajenie z C, ale wiadomo o co chodzi :)

 

pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

Trochę późna odpowiedź - brak czasu. Ale do rzeczy! :)

 

Rzecz w tym zeby po wpisaniu dowolnego znaku z klawiatury ten znak pokazal sie takze na stdout i to bez potrzeby robienia CRLF ("\n") czy tez opruznienia bufora (flush). jednym slowem chce dostawac na stdout kolejne znaki w jednej lini.

Uzucie samego System.out.print(""); nie spowoduje wypisania tekstu na stdout potrzebne jest opruznienie bufora.[/url]Próbowałeś? Mi Twój kod wypisywał na konsolę to, co wpisywałem w "małym textfieldzie". Każda litera w osobnej linii. Jednakże po zamianie na System.out.print(...) pokazywało się dokładnie to, co w "dużym textfieldzie". Co ciekawe - działał także znak nowej linii (enter). Nie uzyskałeś takiego efektu? Może to kwestia konsoli? W Eclipsie w każdym razie było w porządku.

 

W każdym razie - oto najprostsze rozwiązanie. Jeśli nie możesz się do czegoś dobrać lub nie ma takiej możliwości - stwórz to sam. :D

Klasa Main:

package test;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import java.io.PrintStream;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;

public class Main extends JFrame{

private JButton start = new JButton("Start");
private JButton quit = new JButton("Quit");
private JButton clear = new JButton("Clear");
private JTextArea text = new JTextArea();
private JTextArea txtArea = new JTextArea();
private PrintStream out = new PrintStream( new JTextComponentOutputStream(txtArea), true ); //true oznacza autoflush

static final private String title ="Main window";
private int width = 500;
private int height = 500;
private int posX = 100;
private int posY = 100;

private JPanel panel = new JPanel();

public Main() {
	super(title);
	System.setOut(out);

	Container cont = getContentPane();
	cont.setLayout(new BorderLayout());

	cont.add(panel, BorderLayout.NORTH);		
	panel.setLayout(new FlowLayout());
	panel.add(start);
	quit.addActionListener(new QuitL());
	panel.add(quit);
	clear.addActionListener(new ClearL());
	panel.add(clear);
	text.getDocument().addDocumentListener(new TextL());
	text.setPreferredSize(new Dimension(50,20));
	panel.add(text);				

	txtArea.setEditable(false);

	cont.add(txtArea, BorderLayout.CENTER);

	setBounds(posX, posY, width, height);		
	addMouseListener(new ML());
	addMouseMotionListener(new MML());		
	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	setVisible(true);
}

class QuitL implements ActionListener{  
	public void actionPerformed(ActionEvent e) {
		System.out.println("Bye");
		System.exit(0);
	}
}

class ClearL implements ActionListener{  
	public void actionPerformed(ActionEvent e) {
		System.out.println("");
		txtArea.setText("");
	}
}

class TextL implements DocumentListener{  
	public void removeUpdate(DocumentEvent e) {
	}

	public void insertUpdate(DocumentEvent e) {
		char znak = text.getText().charAt( text.getText().length() - 1 );
		System.out.print(znak);
//			out.print(znak);	  
	}

	public void changedUpdate(DocumentEvent e) {
	}
}	

public void setwidth(int width){
	this.width = width;
}

class ML extends MouseAdapter{

	public void mousePressed(MouseEvent e) {
		System.out.println("mouse adapter");
	}
}

class MML extends MouseMotionAdapter {
	public void mouseMoved(MouseEvent e) {
	}
}

public static void main(String[] args) {
   new Main();
}   
}

 

I utworzona naprędce, bardzo prosta, wręcz infantylna lecz wystarczająca, wykorzystywana powyżej klasa JTextComponentOutputStream:

package test;

import java.io.IOException;
import java.io.OutputStream;

import javax.swing.text.JTextComponent;

public class JTextComponentOutputStream extends OutputStream {

private JTextComponent textComponent;

public JTextComponentOutputStream() {
	super();
}

public JTextComponentOutputStream(JTextComponent textComponent) {
	super();
	this.textComponent = textComponent;
}

public void write(int  throws IOException {
	String s = textComponent.getText() + new String(new byte[] { (byte) b });
	textComponent.setText(s);
}
}

 

:: EDIT ::

Można zamienić klasę na JTextFieldOutputStream - wtedy wykorzysta ona metodę JTextField.append() i nie będzie trzeba pobierać tekstu, który już jest.

Edytowane przez lszk
Odnośnik do komentarza
Udostępnij na innych stronach

Poszedlem za twoja rada i sprawdzilem program bez ide i dziala jak mowiles :)

Widocznie Netbeans ktorego uzywam ma tak skonstruowana konsole - dobrze to wiedziec.

 

jesli chodzi o stream to niestety wywala mi sporo smieci jak cos pisze w area:

java.lang.IllegalStateException: Attempt to mutate in notification
	at javax.swing.text.AbstractDocument.writeLock(AbstractDocument.java:1336)
	at javax.swing.text.AbstractDocument.replace(AbstractDocument.java:657)
	at javax.swing.text.JTextComponent.setText(JTextComponent.java:1403)
	at test.Main$JTextComponentOutputStream.write(Main.java:155)
	at java.io.OutputStream.write(OutputStream.java:99)
	at java.io.PrintStream.write(PrintStream.java:258)
	at sun.nio.cs.StreamEncoder$CharsetSE.writeBytes(StreamEncoder.java:336)
	at sun.nio.cs.StreamEncoder$CharsetSE.implFlushBuffer(StreamEncoder.java:404)
	at sun.nio.cs.StreamEncoder.flushBuffer(StreamEncoder.java:115)
	at java.io.OutputStreamWriter.flushBuffer(OutputStreamWriter.java:169)
	at java.io.PrintStream.write(PrintStream.java:305)
	at java.io.PrintStream.print(PrintStream.java:362)
	at test.Main$TextL.insertUpdate(Main.java:86)
	at javax.swing.text.AbstractDocument.fireInsertUpdate(AbstractDocument.java:184)
	at javax.swing.text.AbstractDocument.handleInsertString(AbstractDocument.java:749)
	at javax.swing.text.AbstractDocument.insertString(AbstractDocument.java:706)
	at javax.swing.text.PlainDocument.insertString(PlainDocument.java:114)
	at javax.swing.text.AbstractDocument.replace(AbstractDocument.java:668)
	at javax.swing.text.JTextComponent.replaceSelection(JTextComponent.java:1072)
	at javax.swing.text.DefaultEditorKit$DefaultKeyTypedAction.actionPerformed(DefaultEditorKit.java:839)
	at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1530)
	at javax.swing.JComponent.processKeyBinding(JComponent.java:2438)
	at javax.swing.JComponent.processKeyBindings(JComponent.java:2473)
	at javax.swing.JComponent.processKeyEvent(JComponent.java:2401)
	at java.awt.Component.processEvent(Component.java:4909)
	at java.awt.Container.processEvent(Container.java:1569)
	at java.awt.Component.dispatchEventImpl(Component.java:3615)
	at java.awt.Container.dispatchEventImpl(Container.java:1627)
	at java.awt.Component.dispatchEvent(Component.java:3477)
	at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1713)
	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:627)
	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:831)
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:741)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:592)
	at java.awt.Component.dispatchEventImpl(Component.java:3506)
	at java.awt.Container.dispatchEventImpl(Container.java:1627)
	at java.awt.Window.dispatchEventImpl(Window.java:1606)
	at java.awt.Component.dispatchEvent(Component.java:3477)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)

 

Ale jeszcze nie siadlem do tego dokladniej.

teraz jak juz wiem o istnieniu JTextComponent bede to w stanie dokonczyc, dzieki wielkie :)

 

pozdrawiam

Edytowane przez lszk
Odnośnik do komentarza
Udostępnij na innych stronach

Trochę na początku się pogubiłem o co Ci chodzi ale jakoś doszliśmy. :) Zawsze chętnie postaram się pomóc! Wiadomo jak to jest - dziś ja komuś, jutro ktoś mi. :D

 

jesli chodzi o stream to niestety wywala mi sporo smieci jak cos pisze w area:

A kod masz dokładnie taki jak podałem? Wpisywałem w małego textfielda różne cuda i zawsze było w porządku. Co masz w linii 86 kodu Main.java?

 

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

Pod 86 mam po prostu System.out.print("text");

Lepiej podam calosc:

package test;

import com.sun.java.swing.SwingUtilities2;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import java.io.PrintStream;
import java.io.PrintWriter;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.event.SwingPropertyChangeSupport;
import java.io.IOException;
import java.io.OutputStream;
import javax.swing.text.JTextComponent;

public class Main extends JFrame{
private JButton start = new JButton("Start");
private JButton quit = new JButton("Quit");
private JTextArea text = new JTextArea("");

static final private String title ="Main window";
private int width = 500;
private int height = 500;
private int posX = 100;
private int posY = 100;

private JPanel panel = new JPanel();

public Main() {
	super(title);

	Container cont = getContentPane();
	cont.add(panel);

	panel.setLayout(new FlowLayout());
	panel.add(start);
	panel.add(quit);
	panel.add(text);



	text.setPreferredSize(new Dimension(40,30));

	quit.addActionListener(new QuitL());
	text.getDocument().addDocumentListener(new TextL());

	setBounds(posX, posY, width, height);

	addMouseListener(new ML());
	addMouseMotionListener(new MML());

	System.setOut(new PrintStream(new JTextComponentOutputStream(text))); //<przekierowanie>

	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	setVisible(true);
}

class QuitL implements ActionListener{   
	public void actionPerformed(ActionEvent e) {
		System.out.println("Bye");
		System.exit(0);
	}
}

class TextL implements DocumentListener{  
	public void removeUpdate(DocumentEvent e) {
	}

	public void insertUpdate(DocumentEvent e) {
		char znak;			
		String str = text.getText();

		znak = str.charAt(str.length() - 1);
		System.out.print(znak); 
	}

	public void changedUpdate(DocumentEvent e) {
	}
}	

public void setwidth(int width){
	this.width = width;
}

public void setHeight(int height){
	this.height = height;
}

public void setPosX(int pos){
	this.posX  = pos;
}

public void setPosY(int pos){
	this.posY = pos;
}

public int getWidth(){
	return width;
}

public int getHeight(){
	return height;
}

public int getPosX(){
	return posX;
}

public int getY(){
	return posY;
}

class ML extends MouseAdapter{

	public void mousePressed(MouseEvent e) {
		System.out.println("mouse adapter");
	}
}

class MML extends MouseMotionAdapter {
	public void mouseMoved(MouseEvent e) {
	}
}




class JTextComponentOutputStream extends OutputStream {

	private JTextComponent textComponent;

	public JTextComponentOutputStream() {
		super();
	}

	public JTextComponentOutputStream(JTextComponent textComponent) {
		super();
		this.textComponent = textComponent;
	}

	public void write(int  throws IOException {
		String s = textComponent.getText();
		textComponent.setText(s);
	}
}





public static void main(String[] args) {
	Main okno = new Main();


}

}

 

Wpisywałem w małego textfielda różne cuda i zawsze było w porządku.

Cos mi sie wydaje ze nie zrobiles u siebie przekierowania System.setOut , tylko jakiegos append :)

Przyznaje ze troche nie za bardzo mialem czas do tego przysiasc bo od kilku dni mecze JBoss'a na zmiane z serverem Sun'a, i nieco krwi to mnie juz kosztuje. ;)

 

pozdrawiam

Edytowane przez lszk
Odnośnik do komentarza
Udostępnij na innych stronach

Teraz wszystko jasne! :) Zrobiłeś zapętlenie - ustawiasz JTextFieldOutputStream na... text! :D

 

Trudno mi sobie wyobrazić co się tam dzieje! Wpisujesz literkę w text, ona wychodzi na System.out, czyli de facto znowu na text. Tutaj zmiana jest znowu przechwytywana i tak w kółko! Wyjątek, który wyskakuje jest zabezpieczeniem przed taką sytuacją - dlatego został wyrzucony w takiej, a nie innej linii.

 

W swoim kodzie utworzyłem dodatkowego JTextField'a (txtArea) i na niego skierowuję to, co wpiszesz w pierwszym (text). Wklej do edytora mój kod - zobaczysz, jak to działa. Nie robię żadnego appenda. Po przestawieniu System.out na konsoli (Eclipse) nic się nie pojawia - tylko w JTextField'zie - tym drugim.

 

I taka mała sugestia. Nie włączaj wszystkich klas do jednego pliku jako klasy wewnętrzne. Przede wszystkim - wtedy nie będą one dostępne dla innych klas. Co innego listenery, które raczej w innym miejscu nie użyjesz.

 

A co do JBoss'a... Coś o tym wiem. Osobiście nie wdrażałem żadnej aplikacji - więc zbyt dobrze go nie znam - ale ostro współpracowałem z wdrożeniowcem podczas supportu projektu, więc się napatrzyłem. Czasami było trzeba też zrobić coś samemu w JBossie. Sun Application Servera nigdy nie używałem.

Z czym tak sie męczysz?

 

Pozdrawiam! :)

Odnośnik do komentarza
Udostępnij na innych stronach

rzabcio dzieki za rozwiazanie tamtego problemu.

Jesli chodzi o jBoss'a meczylem sie z sama instalacja...

Na poczatku pobralem sobie AS stad http://labs.jboss.com/portal/jbossas/download.

Wszystko extra ale to surowe zrodla i zeby skompilowac serwer recznie zgodnie z oczekiwaniami to praktycznie nie ma takich szans, wiec pobieram do tego instaler.

Installer jest ponoc archiwum typu jar, ale gdy go sciagam to nie do konca tak i do tego beszczelnie wywala archive corrupted :angry:

Dzisiaj siadlem do tego jeszcze raz i znalazlem nowe zrodlo "radosci" http://prdownloads.sourceforge.net/jboss. Tym razem bylo tam wszystko co trzeba, server wreszcie dziala :)

Jesli chodzi o AS Sun'a to jest bardzo przyjazny, tylko sprawy licencji nie sa juz tak mile jak w JBoss :)

 

pozdro

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...