Auf anderes Projekt zugreifen

DerSchokoBär

Aktives Mitglied
Hallo Community,

ich versuche gerade auf einen anderen Projektfad zuzugreifen.
Das sieht ungefähr so aus:
Test/src/main/test.java (meine eigentliche Klasse mit der ich versuche auf die andere zuzugreifen)
Test2/src/Entities/test2.java

Java:
private static final String ENTITIES_PACKAGE=test2.class.getPackage().getName();
private static final String ENTITIES_DIR="???/src/" + ENTITIES_PACKAGE.replace('.', '/');

Ich benutze Eclipse (RSA) und habe das Projekt Test2 dem Projekt Test schon per Eigenschaften -> Buildpath hinzugefügt.
Jetzt fragt sich wie die ENTITIES_DIR aussieht damit ich auf das andere Projekt zugreifen kann.

Danke schon im voraus
DerSchokoBär
 

DerSchokoBär

Aktives Mitglied
Mit den beiden Konstanten wird dann weitergerabeitet, um nach Entites zu suchen. Das funktioniert auch wunderbar im eigenen Projekt. Nun möchte ich aber andere Projekte danach durchsuchen.

Ich habe zwei völlig unabhängige Projekte. D.h. ich habe ein Projekt Test mit dem Package main und ein Projekt Test2 mit dem Package Entities. Mit dem einen Projekt will ich das andere Projekt nach Entities durchsuchen, dazu bräuchte ich doch einen Projektpfad zu dem anderen Projekt?
 
T

TryToHelp

Gast
Dann Packe dein erstes Projekt, welches du im zweiten verwenden willst in eine Jar und verwende es im zweiten Projekt als externe jar bzw libary
 
M

maki

Gast
Mit den beiden Konstanten wird dann weitergerabeitet, um nach Entites zu suchen.
Ok, aber nicht so...

Das funktioniert auch wunderbar im eigenen Projekt.
Höchstens aus der IDE.

Wenn deine Projekte fertig sind, wirst du wohl den Quellcode kaum mitausliefern und deswegen bringt dir ein Pfad der mit src beginnt gar nix, sondern du wirst Jars ausliefern, und in Jars gibt es keine Dateien, sondern nur Entries.

Alles in allem bist du auf dem holzweg.

Was für "Entities" meinst du jetzt eigentlich?
 

DerSchokoBär

Aktives Mitglied
Das soll auch alles innerhalb der IDE (RSA) funktionieren. Mir geht es nur darum, wie ich jetzt innerhalb der IDE auf das andere Projekt zugreifen kann.
 
B

bone2

Gast
aber warum o_O warum macht man sowas


gehen sollte es, in eclipse, wenn beide projekte offen sind, du das 2. projekt im ersten projekt als Required im Buildpath hinzufügst
 

DerSchokoBär

Aktives Mitglied
Es sollte insgesamt ein RSA-Projekt sein.

Ich habe es ja schon wie gesagt hinzugefügt. Nun muss ich ja aber irgendwie einen Pfad angeben.
 
Zuletzt bearbeitet:
B

bone2

Gast
projekte kennen sich gegenseitig nicht, sie liegen zwar im selben workspace, aber wenn du den projektnamen (was über java + eclipse so nicht geht) nicht rausbekommst, kommst du nicht ins nachbarprojekt.
 
B

bone2

Gast
naja dann ist es doch das eigene (workspace) verzeichnis + projektnamen + src + packagezeugs
oder wie ist dein pfad beim eigenen projekt?

Java:
        String curDir = System.getProperty("user.dir");
        curDir = curDir.replace("testarea", "Entities");
        String ENTITIES_PACKAGE=SubscriptionInfo.class.getPackage().getName();
        String ENTITIES_DIR=curDir+ "\\src\\" + ENTITIES_PACKAGE.replace('.', '\\');
        System.out.println(ENTITIES_DIR);
 
Zuletzt bearbeitet von einem Moderator:

DerSchokoBär

Aktives Mitglied
Mh erst einmal danke, aber ich komme auf keinen grünen Zweig.

Java:
private static String PATH= "C:/Documents and Settings/DerSchokoBaer/IBM/rationalsdp/workspace/RSATest1";
private static String ENTITIES_PACKAGE=Mitarbeiter.class.getPackage().getName();
private static String ENTITIES_DIR=PATH+ "/src/" + ENTITIES_PACKAGE.replace('.', '/');  

File entitiesDirectory=new File(".",ENTITIES_DIR);
		 
for(String classFile:entitiesDirectory.list()) { //Zeile 126
    ...
}

Bei der Ausgabe von ENTITIES_DIR am Ende bekomme ich dann auch den korrekten Pfad:
C:/Documents and Settings/DerSchokoBaer/IBM/rationalsdp/workspace/RSATest1/src/Entities

bekomme aber dann:
Code:
Exception in thread "main" java.lang.NullPointerException
at main.Auslesen.EntityAnnotation(Auslesen.java:126)


Habe es dann auch mal mit ClassLoader versucht:
Java:
public class InspectClass {
    @SuppressWarnings("unchecked")
    public static void main(String[] args) throws ClassNotFoundException, MalformedURLException {
        
        System.out.println("test");
        
        File fileDir = new File("C:/Documents and Settings/DerSchokoBaer/IBM/rationalsdp/workspace/RSATest1/bin/Entities/");
        //File customElementsDir = new File("D:\\customElements");
        URL[] urls = null;
        try {
            URL url = fileDir.toURI().toURL();
            urls = new URL[] { url };
            URLClassLoader ucl = new URLClassLoader(urls);
            Class c = ucl.loadClass("IndependentClass"); // LINE 14
            for(Field f: c.getDeclaredFields()) {
                    System.out.println("Field name" + f.getName());
            }
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
 
    }
}

scheitere aber genauso und bekomme folgende Fehlermeldung:
Code:
Exception in thread "main" java.lang.ClassNotFoundException: IndependentClass
	at java.net.URLClassLoader.findClass(URLClassLoader.java:419)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:643)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:609)
	at main.InspectClass.main(InspectClass.java:22)
 
B

bone2

Gast
Mh erst einmal danke, aber ich komme auf keinen grünen Zweig.

Java:
private static String PATH= "C:/Documents and Settings/DerSchokoBaer/IBM/rationalsdp/workspace/RSATest1";
private static String ENTITIES_PACKAGE=Mitarbeiter.class.getPackage().getName();
private static String ENTITIES_DIR=PATH+ "/src/" + ENTITIES_PACKAGE.replace('.', '/');  

File entitiesDirectory=new File(".",ENTITIES_DIR);
		 
for(String classFile:entitiesDirectory.list()) { //Zeile 126
    ...
}

Bei der Ausgabe von ENTITIES_DIR am Ende bekomme ich dann auch den korrekten Pfad:
C:/Documents and Settings/DerSchokoBaer/IBM/rationalsdp/workspace/RSATest1/src/Entities

bekomme aber dann:
Code:
Exception in thread "main" java.lang.NullPointerException
at main.Auslesen.EntityAnnotation(Auslesen.java:126)
naja dann ist entitiesDirectory an der stelle eben null, hat ja nicht mit dem eigentlichen problem zu tun.
oder steht
Code:
File entitiesDirectory=new File(".",ENTITIES_DIR);
in zeile 125?
 
B

bone2

Gast
Java:
File entitiesDirectory=new File(".",ENTITIES_DIR);
da kommt aber "C:/Documents and Settings/DerSchokoBaer/IBM/rationalsdp/workspace/RSATest1/./C:/Documents and Settings/DerSchokoBaer/IBM/rationalsdp/workspace/RSATest1/src/Entities" raus
lass das "." parent weg

log ftw
Java:
System.out.println(entitiesDirectory.getAbsolutePath());
 

DerSchokoBär

Aktives Mitglied
Ausgabe:
Code:
C:\Documents and Settings\DerSchokoBaer\IBM\rationalsdp\workspace\RSATest1\src\Entities
Ha! Danke das wars danke! :applaus:

Wie würde das dann mit der zweiten Möglichkeit richtig funktionieren mit dem classLoader?
 
B

bone2

Gast
gucke gerade, vielleicht auch noch ein schreibfehler? liegt die IndependentClass wirklich in
Code:
.../bin/Entities/
?

Java:
        File fileDir = new File("e:/w2/testarea/bin/");
        //File customElementsDir = new File("D:\\customElements");
        URL[] urls = null;
        try {
            URL url = fileDir.toURI().toURL();
            System.out.println(url);
            urls = new URL[] { url };
            URLClassLoader ucl = new URLClassLoader(urls);
            Class c = ucl.loadClass("Test"); // LINE 14
            for(Field f: c.getDeclaredFields()) {
                System.out.println("Field name" + f.getName());
            }
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

funktioniert bei mir
 

DerSchokoBär

Aktives Mitglied
in
Code:
C:/Documents and Settings/tg/IBM/rationalsdp/workspace/RSATest1/bin/Entities
liegen zwei Klassen eine Mitarbeiter.class und eine Wohnort.class

Java:
File fileDir = new File("C:/Documents and Settings/DerSchokoBaer/IBM/rationalsdp/workspace/RSATest1/bin/Entities");
 
        URL[] urls = null;
        try {
            URL url = fileDir.toURI().toURL();
            System.out.println(url);
            urls = new URL[] { url };
            URLClassLoader ucl = new URLClassLoader(urls);
            Class c = ucl.loadClass("Mitarbeiter"); 
            for(Field f: c.getDeclaredFields()) {
                System.out.println("Field name" + f.getName());
            }
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
 

Noctarius

Top Contributor
Wie jede andere Klasse auch und dann musst du halt in deinem Classloader (das ist btw kein Anfängerkram) entsprechend den Pfad anhand des Canonical Path der Klasse auflösen und das File laden.
 
B

bone2

Gast
hast du doch schon, das letzte was du gepsotet hast, sollte funktionieren. den Klassennamen (Mitarbeiter) hast du an der richtigen stelle eingetragen
 

DerSchokoBär

Aktives Mitglied
Also hier mein Code (vorher hatte ich im Pfad den letzten Slash vergessen):
Java:
public class InspectClass {
    @SuppressWarnings("unchecked")
    public static void main(String[] args) throws ClassNotFoundException, MalformedURLException {
        
        System.out.println("test");
        
        File fileDir = new File("C:/Documents and Settings/DerSchokoBaer/IBM/rationalsdp/workspace/RSATest1/bin/Entities/");
 
        URL[] urls = null;
        try {
            URL url = fileDir.toURI().toURL();
            System.out.println(url);
            urls = new URL[] { url };
            URLClassLoader ucl = new URLClassLoader(urls);
            Class c = ucl.loadClass("Mitarbeiter"); 
            for(Field f: c.getDeclaredFields()) {
                System.out.println("Field name" + f.getName());
            }
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

Fehlermeldung (irgendwas stimmt mit Mitarbeiter nicht, wegen dem wrong name):
Code:
test
file:/C:/Documents%20and%20Settings/DerSchokoBaer/IBM/rationalsdp/workspace/RSATest1/bin/Entities/
Exception in thread "main" java.lang.NoClassDefFoundError: Mitarbeiter (wrong name: Entities/Mitarbeiter)
	at java.lang.ClassLoader.defineClassImpl(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:265)
	at java.security.SecureClassLoader.defineClass(Unknown Source)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:493)
	at java.net.URLClassLoader.access$300(URLClassLoader.java:64)
	at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:892)
	at java.security.AccessController.doPrivileged(AccessController.java:284)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:414)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:643)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:609)
	at main.InspectClass.main(InspectClass.java:23)
 
B

bone2

Gast
achja, mitarbeiter liegt in nem package

Java:
File fileDir = new File("C:/Documents and Settings/DerSchokoBaer/IBM/rationalsdp/workspace/RSATest1/bin/");

Class c = ucl.loadClass("Entities.Mitarbeiter");
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Erste Schritte Anderes Projekt Migrieren Java Basics - Anfänger-Themen 2
Thomathy Interface Wie schließt man ein anderes JFrame Fenster? Java Basics - Anfänger-Themen 6
P Probleme mit JUnit-Tests, es kommt was anderes raus als bei manuellen Tests Java Basics - Anfänger-Themen 5
F Methode für Teilbarkeit durch 5 tut was anderes.... Java Basics - Anfänger-Themen 3
L Nur Bestimmte Werte aus einem Array in ein anderes Speichern Java Basics - Anfänger-Themen 11
B Enum innerhalb einer Klasse / anderes Konzept Java Basics - Anfänger-Themen 8
A JDK installieren Oracle JDK oder was anderes? Java Basics - Anfänger-Themen 6
R Vererbung werte von einem Objekt aus ein anderes übertragen Java Basics - Anfänger-Themen 7
B Mit Java anderes Java Programm starten Java Basics - Anfänger-Themen 3
M aus Fenster anderes Fenster öffnen und wieder umgekehrt Java Basics - Anfänger-Themen 5
I JFrame minimieren wenn anderes Programm minimiert wird Java Basics - Anfänger-Themen 1
E Anderes Programm ausführen Java Basics - Anfänger-Themen 8
L Erste Schritte Mal was anderes Java Basics - Anfänger-Themen 9
T TreeSet sortiert in ein anderes kopieren Java Basics - Anfänger-Themen 2
L Anderes Layout für JOptionPane? Java Basics - Anfänger-Themen 6
B Warum haben Java Programme ein anderes Design? Java Basics - Anfänger-Themen 5
D Array auslesen und und Werte in ein anderes array anlegen Java Basics - Anfänger-Themen 5
M Enums, oder doch was anderes? Java Basics - Anfänger-Themen 7
V Objekt löschen wenn anderes gelöscht wurde Java Basics - Anfänger-Themen 11
M Rausfinden welches Objekt ein anderes Objekt erzeugt hat?! Java Basics - Anfänger-Themen 3
S BufferedReader liest was anderes als BufferedWriter schreibt Java Basics - Anfänger-Themen 5
B Casten oder vielleicht was anderes? Java Basics - Anfänger-Themen 9
Z Fokus auf anderes Programm setzen Java Basics - Anfänger-Themen 3
D Ein Objekt erzeugt ein anderes Objekt - Wie beide Objekte abspeichern? Java Basics - Anfänger-Themen 5
-horn- Anderes Programm (C,C++, etc) prüfen lassen, ob JAVA installiert ist und wo? Java Basics - Anfänger-Themen 5
A [gelöst]Aus der Klasse heraus auf ein anderes Objekt zugreifen Java Basics - Anfänger-Themen 4
F Anderes Programm beenden Java Basics - Anfänger-Themen 3
S Anderes Fenster schließen Java Basics - Anfänger-Themen 8
C Oberfläche & anderes Java Basics - Anfänger-Themen 6
C array in anderes kopieren ohne zu überschreiben . Java Basics - Anfänger-Themen 13
D Auf anderes Fenster Warten Java Basics - Anfänger-Themen 6
G Frame Applet oder doch was anderes Java Basics - Anfänger-Themen 2
G Was anderes als Scanner Java Basics - Anfänger-Themen 4
T Anderes Fenster öffnen, darin enthaltene Komponenten ändern Java Basics - Anfänger-Themen 2
G Aus Programm anderes Programm starten Java Basics - Anfänger-Themen 2
V Aus einem Lisener ein anderes Programm aufrufen (Übersichtli Java Basics - Anfänger-Themen 6
C Graphics2D auf anderes Graphics2D übertragen Java Basics - Anfänger-Themen 5
G Von einem JinternalFrame auf ein anderes zugreifen! Java Basics - Anfänger-Themen 18
W Hashtable oder was Anderes Java Basics - Anfänger-Themen 8
D Objekt-Variable an anderes Objekt übergeben Java Basics - Anfänger-Themen 9
B 2 d array in ein anderes 2 d array kopieren. ! Java Basics - Anfänger-Themen 8
I Frame schließen, wenn anderes geöffnet wird Java Basics - Anfänger-Themen 2
Dilandau array oder victor oder was ganz anderes? Java Basics - Anfänger-Themen 8
B VISA.jar in Projekt einbinden (Library) Java Basics - Anfänger-Themen 5
I WildFily - unterschiedliche Libs im Projekt verursachen Problem Java Basics - Anfänger-Themen 11
F Einem GIT repository ein Projekt hinzufügen Java Basics - Anfänger-Themen 1
I @Entity Klassen, Service Beans etc. aus einem Share Projekt beziehen? Java Basics - Anfänger-Themen 26
C externe jar einbinden in Eclipse-Projekt Java Basics - Anfänger-Themen 2
B non-modular dependency in modularem Projekt verwenden Java Basics - Anfänger-Themen 3
S Kleines Java-Projekt; Kassenprogramm Java Basics - Anfänger-Themen 7
S Mein erstes eigenes Projekt - Aufbau und Strukturierung Java Basics - Anfänger-Themen 6
J Projekt neu übersetzen Java Basics - Anfänger-Themen 3
E Kleines Java-Projekt für Anfänger Java Basics - Anfänger-Themen 10
A Java die richtige Programmiersprache für mein Projekt? Java Basics - Anfänger-Themen 1
B Quicksort in Verbindung mit einem Projekt Java Basics - Anfänger-Themen 1
S Video Projekt Java Basics - Anfänger-Themen 28
A Hilfe bei Java Projekt Java Basics - Anfänger-Themen 4
B Grundsatzfragen zu meinem neuen Projekt Einnahmen-Ausgaben App Java Basics - Anfänger-Themen 8
C Projekte in 2 versch. Arbeitsbereichen: auf ein Projekt verweisen (ohne Fehler zu bekommen) Java Basics - Anfänger-Themen 8
D Gemeinsames Projekt Java Basics - Anfänger-Themen 13
J Veranstaltungs Projekt Java Basics - Anfänger-Themen 2
K Java Projekt Hilfe Java Basics - Anfänger-Themen 5
C Fehler beim Speichern (Build projekt) Java Basics - Anfänger-Themen 42
Dimax In Java File (nicht in Java Projekt) mysql Driver importieren Java Basics - Anfänger-Themen 3
G Projekt architektur (implementierung) Java Basics - Anfänger-Themen 3
J Java findet plötzlich die Dateien im Projekt nicht mehr. Java Basics - Anfänger-Themen 12
W Neues Lern-Projekt gesucht Java Basics - Anfänger-Themen 8
R Java-Projekt im FTP hochladen Java Basics - Anfänger-Themen 6
C Projekt öffnen BlueJ Java Basics - Anfänger-Themen 1
S Image Datei selektieren und in Projekt Verzeichnis abspeichern/kopieren Java Basics - Anfänger-Themen 16
D Ausführbare jar/exe aus JAVAFX Projekt erstellen (IntelliJ) Java Basics - Anfänger-Themen 14
A Wie kann ich folgendes Projekt realisieren? Java Basics - Anfänger-Themen 4
B Derzeit JSF - Projekt, später soll MobileApp folgen Java Basics - Anfänger-Themen 5
H projekt 1 code schöner schreiben. Java Basics - Anfänger-Themen 25
H java erstes projekt Java Basics - Anfänger-Themen 502
B Erste Schritte nio oder io für neues Projekt Java Basics - Anfänger-Themen 1
G Mein Java Projekt funktioniert nicht Java Basics - Anfänger-Themen 5
alkaA Intellij Java Datei aus nicht Projekt ausführen? Java Basics - Anfänger-Themen 2
D Erste Schritte Projekt in Ecplise in einer .zip Datei speichern Java Basics - Anfänger-Themen 8
I Projekt als .jar Datei speichern - Bilder werden nicht mehr angezeigt Java Basics - Anfänger-Themen 4
F Git Projekt im Build Path Java Basics - Anfänger-Themen 3
Edin Sinnvolle Projekt-/Codepräsentation Java Basics - Anfänger-Themen 2
L Suche ein sampel Projekt Java Basics - Anfänger-Themen 2
L PROBLEM! "Bug" bei Konto-Projekt! Java Basics - Anfänger-Themen 7
J App.jar muss im Projekt App als Bibliothek vorhanden sein?! Java Basics - Anfänger-Themen 1
J Projekt nicht editierbar modifizieren (NetBeans 8) Java Basics - Anfänger-Themen 10
L Compiler-Fehler AndroidStudio Projekt startet nicht mehr!!! Java Basics - Anfänger-Themen 2
F Eclipse alle Projekt weg Java Basics - Anfänger-Themen 6
D Erste Schritte Projekt Zuul Java Basics - Anfänger-Themen 192
D JavaFX, Verweis auf Datei im Projekt Java Basics - Anfänger-Themen 0
M Hilfe bei Roulette Projekt Java Basics - Anfänger-Themen 7
M bestehendes Projekt als Applet speichern Java Basics - Anfänger-Themen 2
M Netbeans Projekt lauffähig abspeichern Java Basics - Anfänger-Themen 3
G Erste Schritte Suche Java Programmierer für kleines Projekt Java Basics - Anfänger-Themen 1
S Best Practice Projekt als .JAR exportiert Java Basics - Anfänger-Themen 4
H Ist Java überhaupt die richtige Sprache für das Projekt? Java Basics - Anfänger-Themen 8
elischa Eclipse Plugin Projekt, Maven Projekt und dependencies Java Basics - Anfänger-Themen 5
M Open Source Projekt mit Unit Tests gesucht Java Basics - Anfänger-Themen 5
T Java Projekt aufbau Java Basics - Anfänger-Themen 5
C java Projekt mit Xuggler exportieren Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben