Setze vm Standardargumente über maven für Eclipse

8

Ich möchte vm args von -Djava.library.path =. / src / main / resources angeben, damit eine DLL automatisch übernommen wird, und ich möchte dies in maven angeben, damit andere Entwickler dies nicht tun müssen Konfigurieren Sie Eclipse manuell.

Ich habe mir gedacht, dass vielleicht das Maven Eclipse Plugin helfen könnte, also könnte ich etwas wie

machen %Vor%

Aber ich kann keine Möglichkeit sehen, VM-Argumente aus dem Plugin hinzuzufügen.

Ich habe das zum Ausführen meiner Tests über maven in der Kommandozeile mit

behoben %Vor%

Meine derzeitige Lösung ist, dass ich den Entwicklern sagen muss, dass sie dies manuell zu Eclipse hinzufügen, was nicht sehr gut aussieht.

Hat jemand irgendwelche Ideen, wie man das löst?

Prost,

David.

    
David Turner 16.12.2010, 10:59
quelle

2 Antworten

1

Vielleicht sollte das eine allgemeinere Frage sein:

Gibt es eine Möglichkeit, der VM eine DLL hinzuzufügen, ohne sie über den Bibliothekspfad angeben zu müssen?

Ich habe irgendwo gelesen, dass das Setzen der DLL in den Anwendungsstamm und das Angeben der DLL in der MANIFEST.MF mit ihrem Hash-Code die VM dazu veranlasst, sie automatisch aufzunehmen. Das könnte aber völlig falsch sein.

    
James Camfield 16.12.2010 13:20
quelle
1

Meine Interpretation Ihres Problems ist, dass Ihre Anwendung eine DLL lädt und diese DLL sich in Ihrem Projekt im Ressourcenordner befindet. Korrekt?

Sie können den vollständigen Pfad der DLL abrufen, wenn sich die DLL in einem Ordner im Klassenpfad befindet, und mit folgendem Befehl laden:

%Vor%

Dies ist unabhängig von maven. Es gibt nur zwei Probleme:

  1. Die Lösung ist nicht systemunabhängig, da Sie das Suffix der Datei im Parameter getResource ()
  2. angeben
  3. Dies funktioniert nicht, wenn sich die DLL in einer JAR befindet. Für diesen Fall erstellen wir einen JAR-Extraktor, der die DLL in einen temporären Ordner extrahiert und System.load () mit der Datei im temporären Ordner aufruft.
Eduard Wirch 16.12.2010 13:39
quelle