Język Java Technikalia - wstęp do inżynierii oprogramowania Wirtualna maszyna Javy, kod bajtowy Twórcy Javy przyjęli założenie, że programy w tym języku powinny móc być uruchamiane na wszystkich (większości) platform sprzętowych a równocześnie być pozbawiona wad interpretatorów zwłaszcza związanych z wydajnością. Typowy proces kompilacji programów (np. C++) można przedstawić w postaci diagramu: Natomiast w przypadku Javy pliki źródłowe nie są tłumaczone na język maszynowy ale na tzn. kod bajtowy (byte code) niezależny od konkretnej platfomy sprzętowej, które potem są wykonywane przez wirtualną maszynę javy (JVM)
. 64 a 32 bity Programy w kodzie bajtowym są niezależne od długości słowa maszynowego, więc powinny być uruchamiane zarówno na JVM 32 jak i 64 bitowej (i każdej innej(. Niektóre jednak biblioteki javy, takie jak SWT naruszają w pewien sposób zasadę niezależności od platformy sprzętowej poprzez połączenie z natywnymi bibliotekami graficznymi czy innymi (w tym przypadku spowodowane jest to
przyjętym w bibliotece SWT założeniem maksymalnego podobieństwa do oryginalnych komponentów graficznych systemu i wykorzystania natywnych GUI). W przypadku takich bibliotek występują wersję 32- i 64 bitowe, które dają się uruchomić na odpowiednich wersjach JVM JDK,JRE Do uruchomienia programów javy niezbędny jest nadzór wirtualnej maszyny javy. Może być ona zainstalowana w jednym dwóch większych środowisk: Java Runtime Environment (środowisko do uruchamiania apletów javy) i Java Develepment Kit umożliwiają również kompilację plików źródłowych javy do kodu bajtowego. Parametry JVM - agentlib:libname[=options] załadowanie natywnej biblioteki (typu agenta) -agentpath:pathname[=options] -client -Dproperty=value Ustalenie właściwości (property) systemowej -disableassertions[:[packagename]... :classname] -da[:[packagename]... :classname] -disablesystemassertions -dsa -enableassertions[:[packagename]... :classname] -ea[:[packagename]... :classname] -enablesystemassertions -esa -help wyświetlenie pomocy -? -jar filename Wykonanie programu zawarteg w archiwum typu jar. W takim archiwum musi istnieć plik manifest zawierający Main-Class:classname definujący klasę zawierającą metodę public static void main(string[] args) służącą jako punkt startowy aplikacji When you use the -jar option, the specified JAR file is the source of all user classes, and other class path settings are ignored. http://docs.oracle.com/javase/8/docs/technotes/guides/jar/i ndex.html http://docs.oracle.com/javase/tutorial/deployment/jar/index.html -javaagent:jarpath[=options] -jre-restrict-search -no-jre-restrict-search -server http://docs.oracle.com/javase/8/docs/technotes/guides/vm/serve r-class.html -showversion displaying version information. -splash:imgname wyświetlenie obrakza na starcie aplikacji (splash screen) -splash:images/splash.gif
-verbose:class -verbose:gc szczegółowe informacje o Garbage Collector-ze -verbose:jni -version -version:release wyświetlenie wersji / szcegółów wersji -Xbatch -Xbootclasspath:path -Xbootclasspath/a:path -Xbootclasspath/p:path -Xcheck:jni -Xcomp -Xdebug -Xdiag -Xfuture -Xint -Xinternalversion -Xmsvalue - minimalny rozmiar sterty -Xmxvalue maksymalny rozmiar sterty -XX:MinHeapFreeRatio=minimum -XX:MaxHeapFreeRatio=maximum -XX:NewRatio=ratio -XX:NewSize=size -XX:MaxNewSize=size -XX:+AggressiveHeap Środowisko uruchomieniowe w eclipsie
Kompilacja, uruchamianie Aby skompilować program javy (*.java) do postaci kodu bajtowego należy użyć polecenia javac dostępnego w JDK. Wygenerowany zostaje plik *.class, który może być uruchomiony w dowolnym systemie operacyjnym z JVM. Uruchomienie pliku *.class odbywa się poprzez polecenia java nazwa_pliku_bez_rozszerzenia Błędy javy stos wywołań Exception in thread "main" org.eclipse.swt.swtexception: Widget is disposed at org.eclipse.swt.swt.error(unknown Source) at org.eclipse.swt.swt.error(unknown Source) at org.eclipse.swt.swt.error(unknown Source) at org.eclipse.swt.widgets.widget.error(unknown Source) at org.eclipse.swt.widgets.widget.checkwidget(unknown Source) at org.eclipse.swt.widgets.table.getitemcount(unknown Source) at org.eclipse.swt.widgets.tableitem.<init>(unknown Source) at po_w2.tableandsubform$1.widgetselected(tableandsubform.java:94) at org.eclipse.swt.widgets.typedlistener.handleevent(unknown Source) at org.eclipse.swt.widgets.eventtable.sendevent(unknown Source) at org.eclipse.swt.widgets.widget.sendevent(unknown Source) at org.eclipse.swt.widgets.display.rundeferredevents(unknown Source) at org.eclipse.swt.widgets.display.readanddispatch(unknown Source) at po_w2.tableandsubform.initgui(tableandsubform.java:124) at po_w2.wyklad2.main(wyklad2.java:9) Ślad stosu wywołań w eclipsie jest KLIKALNY co bardzo przydaję się przy znajdowaniu błędów, co więcej możemy w konsoli Java Stack wkleić ślad stosu wywołań (np. z logów) i będzie również klikalny
Pakiety Kod javy przy więcej niż jednej klasie (a zazwyczaj aplikacje w tym języku zawierają zdecydowanie więcej) powinien być podzielony pakiet. Klasy z tego samego pakietu znajdują się fizycznie w tym samym folderze, nazwa folderu (scieąki dostępu) powinna być taka nazwa pakietu a nazwa klasy taka jak nazwa pliku *.java. Proszę zwrócić uwagę, że przy kompilacji klas z różnych pakietów trzeba albo zmieniać katalogi i kompilować w katalogu, w którym znajduje się pliki *.java albo kompilować z poziomu nadrzędnego z opcją d np. javac com/net/pwr/pakiet1/mojaklasa.java d com/net/pwr/pakiet1/ Metoda main(string[] args]) Metoda, od której zaczyna się uruchamianie aplikacji, jako argument do niej przekazywana jest lista argumentów programu podanych w wierszu poleceń lub odpowiednim oknie konfiguracji uruchomienia w eclipse. public class Message { public static void main (String [] args) { System.out.println("Witaj w nowym semestrze "+(args.length>0?args[0]:"")) ; } } Witaj w nowym semestrze Andrzeju
Wiersz poleceń / zmienne systemowe w eclipsie import java.util.map; public class EnvMap { public static void main (String[] args) { Map<String, String> env = System.getenv(); System.out.println("Zmienna systemowa path: "+env.get("path")); } } Metoda main prawidłowo Metoda main jest metodą statyczną, co wiąże się z koniecznością stosowania w niej tylko zmiennych i metod statycznych, co stoi w sprzeczności z założeniami programowania obiektowego Dobrym zwyczajem jest więc ograniczenie metody main np. postaci takiej konstrukcji
package jp_w2; public class A { } public static void main(string[] args) { } A a=new A(); A.init(); private void init(){ } // Tu tworzymy kod, który nie musi być już statyczny Konstrukcja na pierwszy rzut oka może wydawać się dziwna, jednak jest to standardowa metoda tworzenia instancji obiektu zawierającego klasę main (zwróćmy uwagę, że w programie jest utworzona tylko jedna instancja klasy A, bo metoda statyczne Biblioteki, classpath, Ant, Maven, Gradle ANT Kompilowanie i uruchamianie programu składającego się z wielu pakietów i z dołączonymi różnymi biblioteki jest zadaniem bardzo pracochłonnym. Powstały więc nakładki pomagające w kompilacji, uruchamianiu a nawet dołączaniu bibliotek i wielu czynnościach pomocniczych. <?xml version="1.0" encoding="utf-8" standalone="no"?> <project default="create_run_jar" name="create Runnable Jar for Project STS4Client with libraries in sub-folder"> <!--this file was created by Eclipse Runnable JAR Export Wizard--> <!--ANT 1.7 is required --> <target name="create_run_jar"> <jar destfile="c:/andrzej/projekty/sicontrol/produkcja/sts4.jar"> <manifest> <attribute name="main-class" value="ditari.uibase.logincomposite"/> <attribute name="class-path" value=". sts4_lib/commons-digester- 1.7.jar sts4_lib/odfdom-java-0.8.7.jar sts4_lib/resolver.jar sts4_lib/xercesimpl.jar sts4_lib/xml-apis.jar sts4_lib/quartz.jar sts4_lib/jbossjca.jar sts4_lib/scheduler-plugin.jar sts4_lib/jboss-aop-client.jar sts4_lib/trove.jar sts4_lib/jboss-ejb3-metadata.jar sts4_lib/jboss-mdr.jar sts4_lib/jboss-aop.jar sts4_lib/jboss-messaging.jar sts4_lib/jboss-remoting.jar sts4_lib/javassist.jar sts4_lib/jboss-common-core.jar sts4_lib/jnp-client.jar sts4_lib/concurrent.jar sts4_lib/log4j.jar sts4_lib/jboss-messaging-client.jar sts4_lib/jboss-serialization.jar sts4_lib/org.eclipse.nebula.widgets.collapsiblebuttons-1.0-nightly.jar sts4_lib/hibernate-annotations.jar sts4_lib/org.eclipse.nebula.widgets.calendarcombo-1.0-nightly.jar sts4_lib/org.eclipse.nebula.jface.cdatetime_0.14.0.201304181950.jar sts4_lib/org.eclipse.nebula.widgets.cdatetime_0.14.0.201304181950.jar sts4_lib/org.eclipse.nebula.cwt_0.9.0.201304181950.jar sts4_lib/commons-io-2.0.jar sts4_lib/freemarker.jar sts4_lib/jodconverter-2.2.2.jar sts4_lib/juh-3.0.1.jar sts4_lib/jurt-3.0.1.jar sts4_lib/ridl-3.0.1.jar sts4_lib/unoil-3.0.1.jar sts4_lib/xom-1.2.6.jar sts4_lib/xstream-1.3.1.jar sts4_lib/junit.jar sts4_lib/junit.jar sts4_lib/org.hamcrest.core_1.1.0.v20090501071000.jar
sts4_lib/serializer.jar sts4_lib/jodreports-2.3.0.jar sts4_lib/ejb3- persistence.jar sts4_lib/hibernate-core.jar sts4_lib/jboss-aspect-jdk50-client.jar sts4_lib/jboss-client.jar sts4_lib/jboss-ejb3-common-client.jar sts4_lib/jbossejb3-core-client.jar sts4_lib/jboss-ejb3-proxy-clustered-client.jar sts4_lib/jboss-ejb3-proxy-impl-client.jar sts4_lib/jboss-ejb3-proxy-spi-client.jar sts4_lib/jboss-ejb3-security-client.jar sts4_lib/jboss-integration.jar sts4_lib/jboss-javaee.jar sts4_lib/jboss-logging-spi.jar sts4_lib/jboss-securityspi.jar sts4_lib/jbosssx-as-client.jar sts4_lib/jbosssx-client.jar sts4_lib/slf4japi.jar sts4_lib/slf4j-jboss-logging.jar sts4_lib/jbossall-client.jar sts4_lib/jboss-remoting-aspects.jar sts4_lib/jnpserver.jar sts4_lib/iscwt.jar sts4_lib/isfreetype.jar sts4_lib/isnativec.jar sts4_lib/isrt.jar sts4_lib/jai_codec.jar sts4_lib/jai_core.jar sts4_lib/jai_imageio.jar sts4_lib/jbig2.jar sts4_lib/jna.jar sts4_lib/jpod.jar sts4_lib/jpodfonts.jar sts4_lib/jpodrenderer.jar sts4_lib/jcommon-1.0.17.jar sts4_lib/jfreechart- 1.0.14.jar sts4_lib/axis.jar sts4_lib/jaxrpc.jar sts4_lib/saaj.jar sts4_lib/javax.wsdl_1.6.2.v201012040545.jar sts4_lib/httpclient.zip sts4_lib/quartz-1.8.6.jar sts4_lib/quartz-jboss-1.8.6.jar sts4_lib/antlr.jar sts4_lib/autonumber-plugin.jar sts4_lib/bcel.jar sts4_lib/bsf.jar sts4_lib/bsh.jar sts4_lib/commons-collections.jar sts4_lib/commons-logging.jar sts4_lib/dtdparser121.jar sts4_lib/ejb3-persistence.jar sts4_lib/el-api.jar sts4_lib/hibernate-annotations.jar sts4_lib/hibernate-commons-annotations.jar sts4_lib/hibernate-core.jar sts4_lib/hibernate-entitymanager.jar sts4_lib/hibernate-jmx.jar sts4_lib/hibernate-validator.jar sts4_lib/hsqldbplugin.jar sts4_lib/hsqldb.jar sts4_lib/jaxen.jar sts4_lib/jboss-common-jdbcwrapper.jar sts4_lib/jboss-current-invocation-aspects.jar sts4_lib/jboss-ejb3- cache.jar sts4_lib/jboss-ejb3-common.jar sts4_lib/jboss-ejb3-core.jar sts4_lib/jboss-ejb3-deployers.jar sts4_lib/jboss-ejb3-endpoint.jar sts4_lib/jbossejb3-ext-api-impl.jar sts4_lib/jboss-ejb3-ext-api.jar sts4_lib/jboss-ejb3- interceptors.jar sts4_lib/jboss-ejb3-mc-int.jar sts4_lib/jboss-ejb3-metadata.jar sts4_lib/jboss-ejb3-proxy-clustered.jar sts4_lib/jboss-ejb3-proxy-impl.jar sts4_lib/jboss-ejb3-proxy-spi.jar sts4_lib/jboss-ejb3-security.jar sts4_lib/jbossejb3-timerservice-spi.jar sts4_lib/jboss-ejb3-transactions.jar sts4_lib/jboss-haclient.jar sts4_lib/jboss-ha-server-api.jar sts4_lib/jboss-ha-server-cache-jbc.jar sts4_lib/jboss-ha-server-cache-spi.jar sts4_lib/jboss-hibernate.jar sts4_lib/jboss-iiop.jar sts4_lib/jboss-integration.jar sts4_lib/jboss-jaspiapi.jar sts4_lib/jboss-javaee.jar sts4_lib/jboss-jca.jar sts4_lib/jboss-jmxremoting.jar sts4_lib/jboss-jpa-deployers.jar sts4_lib/jboss-jsr77.jar sts4_lib/jboss-jsr88.jar sts4_lib/jboss-management.jar sts4_lib/jboss-messagingint.jar sts4_lib/jboss-messaging.jar sts4_lib/jboss-metadata.jar sts4_lib/jbossmonitoring.jar sts4_lib/jboss-negotiation.jar sts4_lib/jboss-profileservice.jar sts4_lib/jboss-remoting-aspects.jar sts4_lib/jboss-remoting.jar sts4_lib/jbosssecurity-aspects.jar sts4_lib/jboss-security-spi.jar sts4_lib/jbossserialization.jar sts4_lib/jboss-srp.jar sts4_lib/jboss-threads.jar sts4_lib/jboss-transaction-aspects.jar sts4_lib/jboss.jar sts4_lib/jbossasremoting.jar sts4_lib/jbossha.jar sts4_lib/jbossjts-integration.jar sts4_lib/jbossjts-jacorb.jar sts4_lib/jbossjts.jar sts4_lib/jbosssx-server.jar sts4_lib/jbosssx.jar sts4_lib/jbossts-common.jar sts4_lib/jbossws-common.jar sts4_lib/jbossws-framework.jar sts4_lib/jbossws-native-jaxrpc.jar sts4_lib/jbossws-native-jaxws-ext.jar sts4_lib/jbossws-native-jaxws.jar sts4_lib/jbossws-native-saaj.jar sts4_lib/jbossws-spi.jar sts4_lib/jbossxacml.jar sts4_lib/jmx-adaptor-plugin.jar sts4_lib/jnpserver.jar sts4_lib/joesnmp.jar sts4_lib/jsp-api.jar sts4_lib/log4j-snmp-appender.jar sts4_lib/log4j.jar sts4_lib/mail-plugin.jar sts4_lib/mail.jar sts4_lib/properties-plugin.jar sts4_lib/quartz.jar sts4_lib/scheduler-plugin-example.jar sts4_lib/schedulerplugin.jar sts4_lib/servlet-api.jar sts4_lib/slf4j-api.jar sts4_lib/slf4j-jbosslogging.jar sts4_lib/xnio-api.jar sts4_lib/concurrent.jar sts4_lib/dom4j.jar sts4_lib/eclipselink.jar sts4_lib/activation.jar sts4_lib/jaxb-api.jar sts4_lib/resolver.jar sts4_lib/serializer.jar sts4_lib/stax-api.jar sts4_lib/xalan.jar sts4_lib/xercesimpl.jar sts4_lib/getopt.jar
sts4_lib/javassist.jar sts4_lib/jaxb-impl.jar sts4_lib/jaxb-xjc.jar sts4_lib/jboss-aop-asintegration-core.jar sts4_lib/jboss-aop-asintegration-jmx.jar sts4_lib/jboss-aop-asintegration-mc.jar sts4_lib/jboss-aop-deployers.jar sts4_lib/jboss-aop-jboss5.jar sts4_lib/jboss-aop-mc-int.jar sts4_lib/jboss-aop.jar sts4_lib/jboss-bootstrap.jar sts4_lib/jboss-classloader.jar sts4_lib/jbossclassloading-spi.jar sts4_lib/jboss-classloading-vfs.jar sts4_lib/jbossclassloading.jar sts4_lib/jboss-common-core.jar sts4_lib/jboss-dependency.jar sts4_lib/jboss-deployers-client-spi.jar sts4_lib/jboss-deployers-client.jar sts4_lib/jboss-deployers-core-spi.jar sts4_lib/jboss-deployers-core.jar sts4_lib/jboss-deployers-impl.jar sts4_lib/jboss-deployers-spi.jar sts4_lib/jbossdeployers-structure-spi.jar sts4_lib/jboss-deployers-vfs-spi.jar sts4_lib/jbossdeployers-vfs.jar sts4_lib/jboss-j2se.jar sts4_lib/jboss-jmx.jar sts4_lib/jbosskernel.jar sts4_lib/jboss-logbridge.jar sts4_lib/jboss-logging-jdk.jar sts4_lib/jboss-logging-log4j.jar sts4_lib/jboss-logging-spi.jar sts4_lib/jbosslogmanager.jar sts4_lib/jboss-main.jar sts4_lib/jboss-managed.jar sts4_lib/jbossmbeans.jar sts4_lib/jboss-mdr.jar sts4_lib/jboss-metatype.jar sts4_lib/jbossprofileservice-spi.jar sts4_lib/jboss-reflect.jar sts4_lib/jboss-system-jmx.jar sts4_lib/jboss-system.jar sts4_lib/jboss-vfs.jar sts4_lib/jboss-xml-binding.jar sts4_lib/log4j-boot.jar sts4_lib/osgi.core.jar sts4_lib/trove.jar sts4_lib/wstx.jar sts4_lib/jeplite_fat.jar sts4_lib/xcalendar_fat.jar sts4_lib/xutils_fat.jar sts4_lib/activation.jar sts4_lib/axis.jar sts4_lib/commons-discovery-0.2.jar sts4_lib/commons-io-2.0.jar sts4_lib/eclipselink.jar sts4_lib/freemarker.jar sts4_lib/interclient.jar sts4_lib/javax.persistence_1.0.0.0_1-0-2.jar sts4_lib/javax.persistence_2.0.0.jar sts4_lib/jaxb-api.jar sts4_lib/jodconverter-2.2.2.jar sts4_lib/jodreports- 2.3.0.jar sts4_lib/juh-3.0.1.jar sts4_lib/jurt-3.0.1.jar sts4_lib/odfdom-java- 0.8.7.jar sts4_lib/ojdbc6.jar sts4_lib/org.apache.commons.logging_1.0.4.v201101211617.jar sts4_lib/postgresql- 8.4-702.jdbc3.jar sts4_lib/resolver.jar sts4_lib/ridl-3.0.1.jar sts4_lib/serializer.jar sts4_lib/slf4j-api-1.5.6.jar sts4_lib/slf4j-jdk14-1.5.6.jar sts4_lib/stax-api.jar sts4_lib/toplink-grid.jar sts4_lib/toplinkoc4j.jar sts4_lib/toplink.jar sts4_lib/unoil-3.0.1.jar sts4_lib/xalan.jar sts4_lib/xercesimpl.jar sts4_lib/xml-apis.jar sts4_lib/xom-1.2.6.jar sts4_lib/xstream-1.3.1.jar sts4_lib/jboss-faces.jar sts4_lib/jsf-api.jar sts4_lib/jsf-impl.jar sts4_lib/jboss-web-service.jar sts4_lib/jstl.jar sts4_lib/jboss-aop-aspects.jar sts4_lib/jboss-aspect-library.jar sts4_lib/jrockitpluggable-instrumentor.jar sts4_lib/pluggable-instrumentor.jar sts4_lib/jbossejb3-deployer.jar sts4_lib/jboss-ejb3-iiop.jar sts4_lib/jsr299-api.jar sts4_lib/fastinfoset.jar sts4_lib/activation.jar sts4_lib/antlr.jar sts4_lib/avalon-framework.jar sts4_lib/commons-logging.jar sts4_lib/concurrent.jar sts4_lib/ejb3-persistence.jar sts4_lib/getopt.jar sts4_lib/hibernateannotations.jar sts4_lib/jacorb.jar sts4_lib/javassist.jar sts4_lib/jaxb-api.jar sts4_lib/jaxb-impl.jar sts4_lib/jaxb-xjc.jar sts4_lib/jaxws-rt.jar sts4_lib/jaxwstools.jar sts4_lib/jboss-aop-client.jar sts4_lib/jboss-appclient.jar sts4_lib/jboss-aspect-jdk50-client.jar sts4_lib/jboss-client.jar sts4_lib/jbosscommon-core.jar sts4_lib/jboss-deployers-client-spi.jar sts4_lib/jboss-deployersclient.jar sts4_lib/jboss-deployers-core-spi.jar sts4_lib/jboss-deployers-core.jar sts4_lib/jboss-deployers-vfs-spi.jar sts4_lib/jboss-deployers-vfs.jar sts4_lib/jboss-deployment.jar sts4_lib/jboss-ejb3-common-client.jar sts4_lib/jboss-ejb3-core-client.jar sts4_lib/jboss-ejb3-ext-api-impl.jar sts4_lib/jboss-ejb3-ext-api.jar sts4_lib/jboss-ejb3-proxy-clustered-client.jar sts4_lib/jboss-ejb3-proxy-impl-client.jar sts4_lib/jboss-ejb3-proxy-spi-client.jar sts4_lib/jboss-ejb3-security-client.jar sts4_lib/jboss-ha-client.jar sts4_lib/jboss-ha-legacy-client.jar sts4_lib/jboss-iiop-client.jar sts4_lib/jbossintegration.jar sts4_lib/jboss-j2se.jar sts4_lib/jboss-jaspi-api.jar sts4_lib/jboss-javaee.jar sts4_lib/jboss-jsr77-client.jar sts4_lib/jboss-loggingjdk.jar sts4_lib/jboss-logging-log4j.jar sts4_lib/jboss-logging-spi.jar sts4_lib/jboss-main-client.jar sts4_lib/jboss-mdr.jar sts4_lib/jboss-messagingclient.jar sts4_lib/jboss-metadata.jar sts4_lib/jboss-remoting.jar sts4_lib/jboss-
security-spi.jar sts4_lib/jboss-serialization.jar sts4_lib/jboss-srp-client.jar sts4_lib/jboss-system-client.jar sts4_lib/jboss-system-jmx-client.jar sts4_lib/jboss-xml-binding.jar sts4_lib/jbossall-client.jar sts4_lib/jbosscxclient.jar sts4_lib/jbossjmx-ant.jar sts4_lib/jbossjts-integration.jar sts4_lib/jbossjts.jar sts4_lib/jbosssx-as-client.jar sts4_lib/jbosssx-client.jar sts4_lib/jbossws-common.jar sts4_lib/jbossws-framework.jar sts4_lib/jbosswsjboss50.jar sts4_lib/jbossws-native-client.jar sts4_lib/jbossws-native-core.jar sts4_lib/jbossws-native-jaxrpc.jar sts4_lib/jbossws-native-jaxws-ext.jar sts4_lib/jbossws-native-jaxws.jar sts4_lib/jbossws-native-saaj.jar sts4_lib/jbossws-spi.jar sts4_lib/jettison.jar sts4_lib/jmx-client.jar sts4_lib/jmx-invoker-adaptor-client.jar sts4_lib/jnp-client.jar sts4_lib/log4j.jar sts4_lib/logkit.jar sts4_lib/mail.jar sts4_lib/policy.jar sts4_lib/scout.jar sts4_lib/slf4j-api.jar sts4_lib/slf4j-jboss-logging.jar sts4_lib/stax-api.jar sts4_lib/stax-ex.jar sts4_lib/streambuffer.jar sts4_lib/trove.jar sts4_lib/wsdl4j.jar sts4_lib/wstx.jar sts4_lib/xmlsec.jar sts4_lib/swt.jar sts4_lib/super-csv-2.1.0.jar sts4_lib/org.eclipse.nebula.widgets.gallery_0.6.0.201407161301.jar sts4_lib/metadata-extractor-2.6.4.jar sts4_lib/xmpcore.jar sts4_lib/opal- 0.9.5.2.jar" /> <attribute name="created-by" value="ditari Sp. z o.o."/> <attribute name="specification-version" value="4.078"/> <attribute name="implementation-version" value="4.078"/> </manifest> <fileset dir="c:/usr/workspace-apic/sts4client/bin"/> <fileset dir="c:/usr/workspace-apic/jeplite/bin"/> <fileset dir="c:/usr/workspace-apic/sts4server/build/classes"/> </jar> </target> </project> MAVEN <?xml version="1.0" encoding="utf-8"?> <project xmlns="http://maven.apache.org/pom/4.0.0" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelversion>4.0.0</modelversion> <parent> <groupid>com.net.clinic.seam</groupid> <artifactid>seam-netclinic</artifactid> <version>1.0</version> <relativepath>../pom.xml</relativepath> </parent> <artifactid>seam-netclinic-war</artifactid> <!-- m2eclipse does not like: ${app.context}-war --> <name>${project.artifactid} : ${project.version}</name> <description>the Seam Maven reference implementation WAR module</description> <packaging>war</packaging> <profiles> <!-- More than one profile can be active at once. Since profiles can contain the same types of configuration there can be clashes. If
two profiles clash the last to be activated will override those activated earlier. Note: "mvn install -Penv-dev" deactivates activebydefault --> <profile> <id>env-dev</id> <activation> <property> <name>env</name> <value>dev</value> </property> </activation> <properties> <env>dev</env> </properties> </profile>.. </profiles> <dependencies> <dependency> <groupid>net.sourceforge.barbecue</groupid> <artifactid>barbecue</artifactid> <version>1.5-beta1</version> </dependency> <dependency> <groupid>org.swinglabs</groupid> <artifactid>pdf-renderer</artifactid> <version>1.0.5</version> </dependency> <!-- seam --> <dependency> <groupid>org.jboss.seam</groupid> <artifactid>jboss-seam-ui</artifactid> </dependency> <dependency> <groupid>org.richfaces.samples</groupid> <artifactid>darkx</artifactid> </dependency> <dependency> <groupid>org.primefaces</groupid> <artifactid>primefaces</artifactid> <scope>provided</scope> </dependency> <!-- <dependency>--> <!-- <groupid>org.jenia4faces</groupid>--> <!-- <artifactid>jenia4faces</artifactid>--> <!-- <scope>provided</scope>--> <!-- </dependency>-->
<!-- jee --> <dependency> <groupid>com.sun.facelets</groupid> <artifactid>jsf-facelets</artifactid> <scope>provided</scope> </dependency> <!-- <dependency>--> <!-- <groupid>com.lowagie</groupid>--> <!-- <artifactid>itext</artifactid>--> <!-- <version>2.1.5</version>--> <!-- </dependency>--> </dependencies> <build> <plugins> <plugin> <groupid>org.codehaus.mojo</groupid> <artifactid>properties-maven-plugin</artifactid> <executions> <execution> <configuration> <files> <file>../src/main/filters/filter-${env}.properties</file> <!-- does not work with mvn eclipse:m2eclipse <file>${project.parent.basedir}/src/main/filters/filter- ${env}.properties</file> --> </files> </configuration> </execution> </executions> </plugins> </build> </project>