[maven] property als parameter

DEvent

Bekanntes Mitglied
Hallo,
ich habe eine Bibliothek, die Werte von einem angeschlossenem (über ein COM Port) Gerät auslesen kann. Um diese zu testen muss also ein Gerät eingeschlossen sein, und ich braucht noch den Geräte-String. Z.B. Unter Linux ist es /dev/ttyUSB0, unter Windows COM3. Kann man diesen String irgendwie über Maven an meinen Test schicken?

Also ich würde Maven so aufrufen: mvn test -Ddevice=/dev/ttyUSB0
Funktioniert das mit dem maven-surefire-plugin? Siehe auch How to retrieve maven properties inside a JUnit test? - Stack Overflow

Wie würde das mit Eclipse funktionieren? Wo kann ich da den String übergeben? Als "VM arguments"?

Danke.
 
N

nillehammer

Gast
Wie würde das mit Eclipse funktionieren? Wo kann ich da den String übergeben? Als "VM arguments"?
Wie ist das gemeint? Willst Du (einzelne) JUnit-Tests aus Eclipse heraus starten? Oder meinst Du Die Anwendung ansich mit main?

Falls Du das erste meinst, das geht imho garnicht. Ein Ausweg wäre hier eine Klasse mit Konstanten oder das Einlesen eines properites-Files.

Falls Du das zweite meinst, im Menü Run -> Run Configurations klicken, die Klasse mit der main-Methode auswählen und im Reiter "Arguments" die Argumente entweder als Program Arguments (wird zum Parameter der main-Methode) oder als VM-Argumens eintragen.
 

DEvent

Bekanntes Mitglied
Wie ist das gemeint? Willst Du (einzelne) JUnit-Tests aus Eclipse heraus starten?

Also z.Z. ist es so, dass ich meine JUnit Tests habe. Dort habe ich eine Konstante, static final String device = "/dev/ttyUSB0"; Nun ist aber so, dass sich das Gerät-String ändert. Dann will ich ja nicht überall diese Konstante anpassen wollen.

Ich will das am liebsten als Parameter übergeben. An a) maven, als eine Property und b) in Eclipse, wenn ich meine Tests manuell starte.

Ich könnte es auch als eine Datei lösen, aber als Parameter wäre es mir lieber. Weil, theoretisch ändert sich der String von Computer zu Computer. In Windows ist er COM3, oder COM5 oder COM1, in Linux ist er mal ttyUSB0 oder ttyUSB1 oder ttyUSB2.

Wenn man da eine Datei hat, wird es schwierig mit dem SCM (aka git). Dann muss man die Datei auf ignore setzen, oder jeder ändert die Datei. Also am besten als Parameter.

Ich hoffe das beantwortet deine Frage.
 
M

maki

Gast
Du meinst keine isolierten Unittests, du meinstn Integrationstests, diese immer in ein eigenes Mavenmodul auslagern.
 

DEvent

Bekanntes Mitglied
Du meinst keine isolierten Unittests, du meinstn Integrationstests, diese immer in ein eigenes Mavenmodul auslagern.

Ja, gut, aber wie nützt mir das?

Dann habe ich ein Modul für Linux und Windows. Aber deswegen kann sich das Gerät-String trotzdem ändern. Wie gesagt in Windows ist er COM3, oder COM5 oder COM1, in Linux ist er mal ttyUSB0 oder ttyUSB1 oder ttyUSB2.
 
N

nillehammer

Gast
Ich hab jetzt nochmal bei meiner Heiminstallation von Eclipse geschaut (Helios). Dort kann man unter RunConfigurations auch für einen JUnit-Testcase "-D"-System Properties angeben. Ich habe folgenden (dämlichen) TestCase geschrieben:
Java:
import junit.framework.TestCase;

public class TestTest extends TestCase {
	public final void testTest() {	
		System.out.println(System.getProperty("comport"));
	}
}
Erst habe ich ihn direkt gestartet. Ausgabe war -wie erwartet- null. Dann hab ich den TestCase mit der rechten Maustaste angeklickt und RunAs -> RunConfigurations ausgewählt. In dem dann erscheinenden Dialog konnte ich den TestCase auswählen und dafür im Reiter "Arguments" ein -Dcomport=COM3 eingeben. Danach hat der TestCase "COM3" ausgegeben.
 
M

maki

Gast
Ja, gut, aber wie nützt mir das?

Dann habe ich ein Modul für Linux und Windows. Aber deswegen kann sich das Gerät-String trotzdem ändern. Wie gesagt in Windows ist er COM3, oder COM5 oder COM1, in Linux ist er mal ttyUSB0 oder ttyUSB1 oder ttyUSB2.
Du willst ein einziges Modul.
Aber mit mind. 2 Profilen, dann müsstest du noch rausfinden welcher Port der richtige ist.
 

DEvent

Bekanntes Mitglied
Ich hab jetzt nochmal bei meiner Heiminstallation von Eclipse geschaut (Helios). Dort kann man unter RunConfigurations auch für einen JUnit-Testcase "-D"-System Properties angeben. Ich habe folgenden (dämlichen) TestCase geschrieben:
Java:
import junit.framework.TestCase;

public class TestTest extends TestCase {
	public final void testTest() {	
		System.out.println(System.getProperty("comport"));
	}
}
Erst habe ich ihn direkt gestartet. Ausgabe war -wie erwartet- null. Dann hab ich den TestCase mit der rechten Maustaste angeklickt und RunAs -> RunConfigurations ausgewählt. In dem dann erscheinenden Dialog konnte ich den TestCase auswählen und dafür im Reiter "Arguments" ein -Dcomport=COM3 eingeben. Danach hat der TestCase "COM3" ausgegeben.

Danke. Ich werde das mal morgen ausprobieren.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Y IDEA IntelliJ Warum findet IntelliJ die maven property nicht IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
doopexxx Add an maven project to an existing maven project IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 23
MiMa Netbeans zu IntelliJ mit Maven konvertieren IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 14
MiMa IntelliJ Maven Projekt erstellen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 15
Robertop Maven Warnung "'version' contains an expression but should be a constant" in Eclipse verstecken IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
O NetBeans Java Projekt OHNE Maven erstellen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
O NetBeans Java Projekt OHNE Maven IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
P Maven für Intellij IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
mrBrown IntelliJ 2020.1 - Maven Projekte nicht ausführbar IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 8
A Wie sind Multi-POM Maven Projects zu verwalten/releasen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 12
J Maven in Gradle builden? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 11
D Jenkins/Gradle maven-publish Problem IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
U Ich kann ein Plugin anhand von Maven nicht builden IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 14
C Ändern der Hauptklasse und dependencys in maven IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
C maven startet jetty, netbeans "run" startet glassfish IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
J Eclipse Nach Maven Einstellung -> Ordner /target im Arbeitsverzeichnis IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
D Gradle - DSL und Repositories von Maven IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
K Eclipse Seltsames Maven Compiler Verhalten mit OpenCV IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
K Netbeans + Maven: default pom Inhalt IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
K Maven + GWT (+ Eclipse)? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
E Maven-Installation für Intellij IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
M Eclipse import eines maven projects "missing artifact" IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 8
D Maven IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
N Maven dependencies Informationen finden IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
F [Maven] cannot find plugins IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
J Eclipse Eclipse mit Maven mit Abhängigkeiten IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
L Eclipse Eclipse - Projekte "mischen" Dynamisches Web Projekt + Maven IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
G Maven - lokales Repository erstellen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
D NetBeans Maven Projekt in Netbeans => WEKA wirft (java.lang.OutOfMemoryError: Java heap space) IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
thet1983 Eclipse Eclipse - Maven - Wildfly - archetype:generate IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
G eclipse und Webprojekte mit Maven IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
D Eclipse Eclipse deployment assmebly + Maven IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
P Eclipse Maven Support IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
A IDEA IntelliJ IntelliJ Maven oder Webprojekt, kann keine normalen Java Klassen erstellen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
Tarrew Problem mit Maven und der Erkennung von generierten Antlr Files. IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
M [Maven] Depencies mit in jar übernehmen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
N Eclipse Maven , Javafx , SceneBuilder IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
H Maven realer Classpath? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
R Eclipse Maven package mit dependencies IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 8
E Maven - *.jars landen nicht im lokalen Repository IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
I Maven, Eclipse, building workspace loop IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
B Versionierung mit Maven IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
S Eclipse Java + Shellscript mit Maven und Eclipse IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 11
M Eclipse Maven/Eclipse ClassLoader Reihenfolge IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
Gregorrr Eclipse Best Practice: Multi-Projekt mit Eclipse + EGit (Git) + m2e (Maven) IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 9
B Maven - Angeben welche Klassen/Packes für build benutzen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
J Eclipse Checkout/Import Maven Projekt IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
C Eclipse Verständnisfrage Eclipse+Maven+Resources IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
C Eclipse Verständnisfrage Eclipse+Maven+Dependencies IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 8
H maven-javadoc-plugin: package does not exist IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
P Eclipse Maven integration IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
K Maven: Reporting zu einer bestimmten Revision IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
S Maven und Native-Libs IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 14
T Eclipse Maven-Plugin IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
S Maven: Abhängigkeiten + target in [b]eine[/b] Jar IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
G NetBeans Maven IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
MQue Maven und SVN IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
S Maven / Javadoc als jar deployen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
Kessi Maven assembly vergisst eigene Klassen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
D Einzelnen Unit-Test mit Maven ausführen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
J Ant-Tasks in Maven einbinden IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 13
M MyLyn und Maven installieren IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 12
D Maven vs. Ivy IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
J Konfigurationsdateien und Maven IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
F Maven plugin für Eclipse: tld dependencies in jars IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
M Maven 2, XDoclet ejbdoclet und Java 1.5 IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
E Maven mit WSDL2Java IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
Y Maven und JUnit IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
Y Maven und myEclipse IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
B Maven IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
L Property File soll neben war-file liegen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
M Eclipse und extrahieren von Strings für Property Datei? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
H Kann ich Commandline-Parameter in Eclipse oder Netbeans einfacher übergeben? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
DEvent the trustAnchors parameter must be non-empty IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
S NetBeans "Type Parameter is not within its bounds" IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 8
A Eclipse: Parameter werden doppelt angezeigt IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
G Parameter für Eclipse IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
DEvent Eclipse und Constructor-Parameter IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
R parameter- problem bei iReport 1.2.5 IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
G parameter an main übergeben in eclipse IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
K Netbeans 4.0 mit Parameter -deprecation (Ant) IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
C Netbeans Parameter übergeben ? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
G Eclipse: Parameter für Anwendung setzen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3

Ähnliche Java Themen


Oben