# Java Methode editierbar machen im Programm



## maGG (28. Dez 2017)

Ich würde gerne mein Programm unabhängig von einem Menschen mit Java Kentnissen machen.
Dafür ist es notwendig, dass ich z.B. in einer Textarea Code aus einer Methode, oder die gesamte Methode anzeigen lasse, den ich dann editieren sowie speichern kann.

Ist so etwas möglich? Und wenn ja, wie?

Ich stelle mir das so z.B. vor: 

public Klassenname(String s1, String s2, String s3, ...){
this.s1 = s1;
this.s2 = s2;
this.s3 = s3;
...
}

public String  toHtm(){
return [Datenbankreferenz/andere Referenz]; 
}

[Datenbankreferenz/andere Referenz]: 
"lorem ipsum" + s1 + "lorem ipsum" + s2 + "lorem ipsum" + s3 ...

Ist so etwas möglich?


----------



## tommysenf (28. Dez 2017)

ja


----------



## maGG (2. Jan 2018)

tommysenf hat gesagt.:


> ja


Ja toll... und wie???


----------



## Javinner (2. Jan 2018)

@maGG 
Was für Programm? Was soll es können, wie umfangreich sein? Fragen über Fragen


----------



## mrBrown (2. Jan 2018)

maGG hat gesagt.:


> Ja toll... und wie???


Kommt drauf an, was du da eigentlich vor hast - der Code sieht etwas konfus aus.


----------



## JStein52 (2. Jan 2018)

Und eine Frage wäre ja auch, warum willst du das ? Wenn du eh den Code editieren willst, warum dann in einer eigenen Textarea und nicht gleich mit Eclipse oder NetBeans ?


----------



## thet1983 (2. Jan 2018)

Meinst du zur Laufzeit den Code ändern?


----------



## maGG (4. Jan 2018)

@Javinner: Das Programm erstellt Signaturen (es schreibt eine htm, txt und batch Datei in ein Verzeichnis und zippt das Ganze)
@JStein52 & @Javinner: Ich möchte das weil z.B. der eine Kollege von mir im Onlinemarketing arbeitet und Html, CSS, PHP und was es da alles gibt beherrscht, nicht aber Java. Und wenn ich die Methode so editierbar machen würde, dann kann jeder mit gesunden Menschenverstand und Grundwissen in Html diese "Schablone" editieren.
Sagen wir z.B. es kommt ein neues Projekt was gefördert wird, ne Fußballmannschaft oder sowas, und es soll das Logo mit nem Text rein, dann könnte man das in dem Programm simpel editieren und bräuchte dafür kein Netbeans oder ähnliches extra zu installieren.
Oder sagen wir die HtmlReplace Methode, die Sonderzeichen in Html Entities umwandelt wäre unvollständig, dann könnte man die in meinem Programm auch kurz editieren.

Ich will also nicht eine ganze Javaklasse editierbar machen, sondern nur ein Teil davon bzw. die toString Methode, die mit übergebenen Parametern eine String Parameter deklariert, die dann in der Writer Methode benutzt wird.

@thet1983: Ja meine zur Laufzeit, oder geht das nicht?

braucht ihr noch mehr Informationen?


----------



## mrBrown (4. Jan 2018)

Der beschrieben Anwendungsfall braucht keine Codeänderungen, sondern einfach nur eine Trennung der Daten vom Programm (also das übliche).

Du kannst die Schablone einfach in einer Datei speichern, diese ist änderbar und wird dann von deinem Programm eingelesen und verarbeitet. 
Möglicherweise ist dabei ein Blick zu Template-Engines sinnvoll, zb Apache Velocity


----------



## Javinner (4. Jan 2018)

@maGG 
Hier klinke ich mich aus, er übersteigt (noch) meine Kenntnisse. Aber @mrBrown  weiß bestimmt, wie man dir hier helfen kann


----------



## maGG (4. Jan 2018)

ah ok super!
Ich muss mich natürlich noch einlesen, aber kann man das dann so in etwa abspeichern?

```
"<span style=\"font-size:10pt;font-family:'Arial','sans-serif';color:#262626;\">\r\n"
+ "Mit freundlichen Gr&uuml;&szlig;en<br /><br />\r\n"
+ "<strong>" + $titelvorn + Html($vorname).trim() + " " + Html($nachname).trim() + $titelhinten + "</strong><br />\r\n"
+ Html($funktion).trim() + $sprachkombi + Html($funktion2).trim() + "<br /><br />\r\n\r\n"
+ "<a href=\"loremipsum""
+ " title=\"loremipsum"><img src=\"loremipsum""
+ " width=\"100\" height=\"27\"></a><br /><br />\r\n\r\n"
+ "<strong>loremipsum</strong><br />\r\n"
+ Html($adresse) + "<br />\r\n"
+ Html($plzort) + "<br /><br />\r\n\r\n"
+ "Tel.: <a href=\"tel:+" + $telefonint + "\" style=\"color:#02387D;\">" + $telefon + "</a><br />\r\n"
+ "Fax: " + fax + "<br />\r\n\r\n"
+ "<a href=\"mailto:" + $email  + "@loremipsum.com\" style=\"color:#02387D;\">" + $email
+ "loremipsum</a> | <a href=\"mailto:loremipsum" + $ort.toLowerCase() + "loremipsum\" style=\"color:#02387D;\">loremipsum" + $ort.toLowerCase() + "loremipsum.com</a>"
+ "undsoweiter\r\n"
+ "<br />\r\n"
```
Für mich wäre auch interessant ob die Java Methoden in dem Template dann auch funktionieren?


----------



## mrBrown (4. Jan 2018)

maGG hat gesagt.:


> Ich muss mich natürlich noch einlesen, aber kann man das dann so in etwa abspeichern?


Du solltest die ", \n & \r rausnehmen.



maGG hat gesagt.:


> Für mich wäre auch interessant ob die Java Methoden in dem Template dann auch funktionieren?


Nö, das ist ja nur eine Textdatei.


----------



## truesoul (4. Jan 2018)

Hallo.

Ich steige da noch  nicht ganz durch was du damit erreichen willst bzw was verlangt wird.
Wäre da sowas wie WordPress nicht das was du suchst?

Grüße


----------



## TheWhiteShadow (4. Jan 2018)

Das hier ist ein Template-Framework: https://github.com/TheWhiteShadow3/XMod
Hab ich geschrieben, geb ich daher auch support für^^

Ansonsten wurde hier schon apache velocity genannt.

@truesoul Wordpress arbeitet auch mit Templates, aber auf php Basis und hier geht es glaube ich um Template->Java->html.


----------



## truesoul (4. Jan 2018)

TheWhiteShadow hat gesagt.:


> Wordpress arbeitet auch mit Templates, aber auf php Basis und hier geht es glaube ich um Template->Java->html.



Ja ich weiß, aber da sein Kollege Kenntnisse in PHP warf ich mal WordPress in den Raum. 
Aber auch wie gesagt, ich habe die Anforderungen nicht ganz durchblicken können. 
Kann also sein, dass mein Vorschlag auch nichts ist 

Grüße


----------



## maGG (4. Jan 2018)

Ah ok verstehe, also könnte ich das dann so z.B. machen:

```
Mit freundlichen Grüßen
$titelvorn $vorname $nachname $titelhinten
$funktion $sprachkombi $funktion2
Firmierung
$adresse
$plzort
Tel.: $telefon
Fax: $fax
$email@email.com | $ort@email.com | www.homepage.com
```


```
VelocityEngine ve = new VelocityEngine();
ve.init();
Template t = ve.getTemplate( "txt_template_ag.vm" );
VelocityContext context = new VelocityContext();
context.put("titelvorn","vorname","nachname","titelhinten","funktion","sprachkombi","funktion2","adresse","plzort","telefon","fax","email","ort");
StringWriter writer = new StringWriter();
t.merge( context, writer );
```
so in etwa?


----------



## mrBrown (4. Jan 2018)

Abgesehen davon, das `put` nur zwei Parameter bekommt, ja.


----------



## sascha-sphw (4. Jan 2018)

Der Context verlangt Key / Value Paare, also so.

```
context.put("titlevorn", "Dein Titel");
context.put("vorname", "Der Vorname");
```


----------



## maGG (10. Jan 2018)

Ich hab  nochmal eine kleine Frage: Welches Dateiformat nimmt man bei dem Template am besten?


----------



## sascha-sphw (10. Jan 2018)

Ein Text Format. Die Endung ist aber irrelevant. Apache nimmt so weit ich weiß .vm


----------



## maGG (10. Jan 2018)

ok irgendetwas mache ich falsch ...


```
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
    at org.apache.velocity.runtime.RuntimeInstance.<init>(RuntimeInstance.java:114)
    at org.apache.velocity.app.VelocityEngine.<init>(VelocityEngine.java:54)
    at signatur.GUI.template_ag_txt(GUI.java:666)
    at signatur.GUI.<init>(GUI.java:128)
    at signatur.GUI$65.run(GUI.java:4198)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 19 more
```
Zeile 666:

```
VelocityEngine ve = new VelocityEngine();
```
Zeile 128:

```
template_ag_txt();
```
Zeile 4198:

```
new GUI().setVisible(true);
```
template_ag_txt-Methode:

```
public void template_ag_txt(){
        VelocityEngine ve = new VelocityEngine();
        ve.init();
        Template t = ve.getTemplate("C:\\Users\\david\\Desktop\\Signatur\\src\\signatur\\txt_template_ag.xml");
        VelocityContext context = new VelocityContext();
        context.put("titelvorn","Titel vorne");
        context.put("vorname","Vorname");
        context.put("nachname","Nachname");
        context.put("titelhinten","Titel hinten");
        context.put("funktion","Funktion");
        context.put("sprachkombi","Sprachkombination");
        context.put("funktion2","Funktion2");
        context.put("adresse","Adresse");
        context.put("plzort","PLZ und ORT");
        context.put("telefon","Telefon");
        context.put("fax","Fax");
        context.put("email","E-Mail");
        context.put("ort","Ort");
        StringWriter writer = new StringWriter();
        t.merge(context,writer);
        jTextAreaTest.append(writer.toString());
    
     
        }
```
XML-Datei:

```
<?xml version="1.0" encoding="UTF-8"?>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->

Mit freundlichen Grüßen
$titelvorn $vorname $nachname $titelhinten
$funktion $sprachkombi $funktion2
...
$adresse
$plzort
Tel.: $telefon
Fax: $fax
$email@... | ....$ort... | www....
...
-----------------------------------------------------------------------
...
```


----------



## mrBrown (10. Jan 2018)

Nutzt du Maven oder vergleichbares?


----------



## maGG (10. Jan 2018)

mrBrown hat gesagt.:


> Nutzt du Maven oder so?


ne weiß nicht was das ist, benutze Netbeans


----------



## mrBrown (10. Jan 2018)

Dann solltest du es nutzen - der Fehler sind dabei fehlende Abhängigkeiten, per Hand wirst du die kaum managen können.


----------



## maGG (10. Jan 2018)

man lernt ja nie aus ne 

muss ich dafür ein komplett neues Projekt erstellen in Netbeans, oder kann man dieses "Maven" auch zu einem bestehenden Projekt "hinzufügen"?


----------



## JStein52 (10. Jan 2018)

Per Hand nicht aber per Auge indem man einen Blick auf die Dependencies wirft:
http://velocity.apache.org/engine/2.0/dependencies.html


----------



## mrBrown (10. Jan 2018)

du kannst das schon dem Projekt hinzufügen, du musst nur uU Pfade etwas anpassen.



JStein52 hat gesagt.:


> Per Hand nicht aber per Auge indem man einen Blick auf die Dependencies wirft:


Die muss man dann aber per Hand einpflegen, auf jedem Rechner 
(Und prüfen, welche transitiven Abhängigkeiten es gibt)


----------



## JStein52 (10. Jan 2018)

mrBrown hat gesagt.:


> auf jedem Rechner


auf jedem Rechner dieser Welt ?


mrBrown hat gesagt.:


> du kannst das schon dem Projekt hinzufügen


Kannst du mal bitte eine Anleitung posten wie man in NetBeans aus einem nicht-Maven Projekt ein Maven-Projekt macht durch hinzufügen von irgendwas ? Das würde mich nämlich auch interessieren.


----------



## maGG (10. Jan 2018)

JStein52 hat gesagt.:


> auf jedem Rechner dieser Welt ?
> 
> Kannst du mal bitte eine Anleitung posten wie man in NetBeans aus einem nicht-Maven Projekt ein Maven-Projekt macht durch hinzufügen von irgendwas ? Das würde mich nämlich auch interessieren.


Das würde mich auch interessieren; ich verstehe nämlich gerade nur Bahnhof


----------



## mrBrown (10. Jan 2018)

JStein52 hat gesagt.:


> auf jedem Rechner dieser Welt ?


Logischerweise nur auf denen, auf denen man das Programm bauen will...



JStein52 hat gesagt.:


> Kannst du mal bitte eine Anleitung posten wie man in NetBeans aus einem nicht-Maven Projekt ein Maven-Projekt macht durch hinzufügen von irgendwas ? Das würde mich nämlich auch interessieren.


pom.xml im Wurzelverzeichnis erstellen, wenn nötig sourceDirectory explizit setzten, fertig.


----------



## JStein52 (10. Jan 2018)

mrBrown hat gesagt.:


> pom.xml im Wurzelverzeichnis erstellen, wenn nötig sourceDirectory explizit setzten, fertig.


Nö, gerade gemacht, funzt nicht.


----------



## mrBrown (10. Jan 2018)

JStein52 hat gesagt.:


> Nö, gerade gemacht, funzt nicht.


Grad gemacht, funzt.

Wenn nötig muss man natürlich irgendwelche Projektspezifischen Dinge anpassen, aber für die gibt es nunmal keine generelle Lösung. Kommt ganz auf die Einstellungen in Netbeans an, normale Projekte klappen ohne Probleme...


"funzt nicht" ist allerdings auch eine grandiose Fehlerbeschreibung


----------



## JStein52 (10. Jan 2018)

mrBrown hat gesagt.:


> "funzt nicht" ist allerdings auch eine grandiose Fehlerbeschreibung


Heisst schlicht und einfach es ändert sich gar nichts !
Ebenfalls ein normales, existierendes Projekt hergenommen.


----------



## mrBrown (10. Jan 2018)

JStein52 hat gesagt.:


> Heisst schlicht und einfach es ändert sich gar nichts !
> Ebenfalls ein normales, existierendes Projekt hergenommen.


Wenn du eine Pom.xml hinzugefügt hast, ist es ein Maven-Projekt.
Keine Ahnung was für magische Änderungen du plötzlich erwartest, aber Fehler gibts bei dir ja offensichtlich nicht...


----------



## JStein52 (10. Jan 2018)

Ich habe das "gleiche" Projekt als Maven-Projekt angelegt. Ich kriege dann z.B. Dependencies und Java-Dependencies angezeigt. (das ist ja schliesslich der Sinn des ganzen). ich habe dann die pom.xml aus diesem Projekt hergenommen, ins "alte" Projekt kopiert, Pfade und Bezeichnungen angepasst (auch noch NetBeans neu gestartet) Das Projekt verhält sich bzgl. Build und eben diesen diversen Anzeigen nicht wie ein Maven-Projekt und das würde ich aber erwarten. Wozu sollte ich sonst den Aufstand machen

Edit: du schreibst dann ist es ein Maven-Projekt, ist es aber nicht. Sieht man auch an dem kleinen Projekt-Icon


----------



## mrBrown (10. Jan 2018)

JStein52 hat gesagt.:


> du schreibst dann ist es ein Maven-Projekt, ist es aber nicht. Sieht man auch an dem kleinen Projekt-Icon


Für mich ist ein Projekt, welches sich mit Maven bauen lässt, ein Maven-Projekt, unabhängig von der Darstellung in einer IDE (grad Unabhängigkeit von der ist ja auch ein Punkt für Maven).


*Vermutlich* muss man das Projekt danach noch einmal neu Öffnen. Es ist ein völlig valides Maven-Projekt, damit sollte auch NetBeans klarkommen.


----------



## JStein52 (10. Jan 2018)

mrBrown hat gesagt.:


> Für mich ist ein Projekt, welches sich mit Maven bauen lässt, ein Maven-Projekt


Nein. Für mich ist es dann in NetBeans ein Maven-Projekt wenn ich in NetBeans auf "Build" klicke und Maven springt an. Und das ist nicht so. NetBeans neu öffnen hilft übrigens auch nicht.


----------



## mrBrown (10. Jan 2018)

JStein52 hat gesagt.:


> Nein. Für mich ist es dann in NetBeans ein Maven-Projekt wenn ich in NetBeans auf "Build" klicke und Maven springt an.


Der relevante Punkt ist *in Netbeans*, es ist dann kein korrekt konfiguriertes Netbeans-Projekt.
Maven ist unabhängig von Netbeans, es ist auch ein Maven-Projekt, wenn Netbeans geschlossen oder überhaupt nicht installiert ist. 



JStein52 hat gesagt.:


> NetBeans neu öffnen hilft übrigens auch nicht.


Deshalb sagte ich, das *Projekt* neu öffnen, nicht Netbeans. Keine Ahnung was man in Netbeans für Verrenkungen anstellen muss, damit der ein Maven-Projekt auch als solches erkennt, so schwer sollte das ja nicht sein...


----------



## JStein52 (10. Jan 2018)

mrBrown hat gesagt.:


> Deshalb sagte ich, das *Projekt* neu öffnen


Ja, auch negativ euer Ehren. Hilft alles nicht, egal was man auf- oder zumacht..


mrBrown hat gesagt.:


> Keine Ahnung was man in Netbeans für Verrenkungen anstellen muss


Die Diskussion hatte sich aber daran entzündet dass du oben mal behauptet hast man könne dies einfach hinzufügen.


----------



## JStein52 (10. Jan 2018)

mrBrown hat gesagt.:


> Maven ist unabhängig von Netbeans,


Ist schon klar. Aber der TE wollte weiter oben wissen ob er dazu sein NetBeans-Projekt neu erstellen muss. Du meintest "nein" ich sage mal ja muss er.

Edit: er kann die drei benötigten jar-Files allerdings auch schlicht und einfach "per Hand"  seinem Projekt hinzufügen.


----------



## maGG (10. Jan 2018)

JStein52 hat gesagt.:


> Edit: er kann die drei benötigten jar-Files allerdings auch schlicht und einfach "per Hand"  seinem Projekt hinzufügen.


per Hand hab ich das ja schon gemacht, aber ich brauch trotzdem dieses Maven oder? :'D


----------



## mrBrown (10. Jan 2018)

JStein52 hat gesagt.:


> Ja, auch negativ euer Ehren. Hilft alles nicht, egal was man auf- oder zumacht..


Laut Netbeans-Doku schon: http://wiki.netbeans.org/MavenBestPractices#Open_existing_project
Und genau so funktioniert es bei mir auch, ein Druck auf Build baut dann mit Maven.



JStein52 hat gesagt.:


> Die Diskussion hatte sich aber daran entzündet dass du oben mal behauptet hast man könne dies einfach hinzufügen.


Es ist ja auch ein vollkommen valides Maven-Projekt und überall Baubar, wo Maven installiert ist^^



JStein52 hat gesagt.:


> Ist schon klar. Aber der TE wollte weiter oben wissen ob er dazu sein NetBeans-Projekt neu erstellen muss. Du meintest "nein" ich sage mal ja muss er.


Kommt vermutlich auch drauf an, was man "neu erstellen" und was als "hinzufügen" sieht...




maGG hat gesagt.:


> per Hand hab ich das ja schon gemacht, aber ich brauch trotzdem dieses Maven oder? :'D


Nein, per Hand reicht.

Maven würde das gleiche nur automatisch machen (und noch einiges mehr, was aber damit nichts zu tun hat)


----------



## JStein52 (10. Jan 2018)

Ist zwar inzwischen egal aber ich weiss nicht auf welchen Absatz in der Doku (die abgesehen davon uralt ist, ist aber wohl nicht das Problem) du dich beziehst. Ich kann nur sagen, ich habe ein existierendes ant-Projekt genommen, ins Wurzelverzeichnis eine pom-Datei kopiert die ich aus einem maven-Projekt hatte das ich genau analog zu dem ant-Projekt erstellt habe. Und er buildet nach wie vor mit ant und maven ist ihm egal.

Edit: auch nach close/open Projekt


----------



## mrBrown (10. Jan 2018)

JStein52 hat gesagt.:


> Ist zwar inzwischen egal aber ich weiss nicht auf welchen Absatz in der Doku (die abgesehen davon uralt ist, ist aber wohl nicht das Problem) du dich beziehst.


Auf den verlinkten, welchen sonst? Und zumindest der relevante Teil hat sich seit dem nicht verändert 



JStein52 hat gesagt.:


> Ich kann nur sagen, ich habe ein existierendes ant-Projekt genommen, ins Wurzelverzeichnis eine pom-Datei kopiert die ich aus einem maven-Projekt hatte das ich genau analog zu dem ant-Projekt erstellt habe. Und er buildet nach wie vor mit ant und maven ist ihm egal.


Dann sollte ein Löschen der Netbeans-Konfigurarion helfen, wenn die noch vorhanden ist, wird vermutlich die bestehende geöffnet oder die ant-Config überschreibt die Maven-Config.
Über die Konsole ist's halt ein ganz normales Maven-Projekt.


----------



## JStein52 (10. Jan 2018)

mrBrown hat gesagt.:


> Auf den verlinkten, welchen sonst


Welchen Absatz in dem verlinkten Dokument ? Ich würde da aus keinem herauslesen dass er von sich aus von ant nach maven umstellt nur weil eine pom-Datei da ist


----------



## JStein52 (10. Jan 2018)

mrBrown hat gesagt.:


> Dann sollte ein Löschen der Netbeans-Konfigurarion helfen


Dann sag doch mal was genau du da gelöscht hast ? Es interessiert ja vermutlich noch andere Leute


----------



## mrBrown (10. Jan 2018)

JStein52 hat gesagt.:


> Welchen Absatz in dem verlinkten Dokument ? Ich würde da aus keinem herauslesen dass er von sich aus von ant nach maven umstellt nur weil eine pom-Datei da ist


Den "Open existing project"-Absatz.



JStein52 hat gesagt.:


> Dann sag doch mal was genau du da gelöscht hast ? Es interessiert ja vermutlich noch andere Leute


Keine Ahnung welche es da so gibt, build.xml und nbproject/ sollten vermutlich reichen
Ich hatte das Problem noch nie...


----------



## JStein52 (10. Jan 2018)

mrBrown hat gesagt.:


> Keine Ahnung welche es da so gibt, build.xml und nbproject/ sollten vermutlich reichen
> Ich hatte das Problem noch nie...


Ich denke du hast das ausprobiert ????  Wenn ich das was du sagst lösche endet das damit dass er das Projekt gar nicht mehr builden kann


----------



## mrBrown (10. Jan 2018)

JStein52 hat gesagt.:


> Ich denke du hast das ausprobiert


Nicht in der Kombination^^
Ich hatte noch die den Fall, dass ich ein bestehendes Netbeans-Projekt mit eingecheckter Config welches zu Maven migriert  werden musste und danach wieder mit Netbeans zu bauen war...

Das die ant-Config beim erkennen eines validen maven-Projekts hinderlich ist, ist mir deshalb so noch nicht untergekommen, da hab ich wirklich nicht drüber nachgedacht - mea culpa 



JStein52 hat gesagt.:


> Wenn ich das was du sagst lösche endet das damit dass er das Projekt gar nicht mehr builden kann


Soll doch dann auch mit Maven bauen 

Und VCS nutzen, dann ist löschen kein Problem...ich hoffe doch, niemand arbeitet völlig ohne Backup?


----------



## JStein52 (10. Jan 2018)

mrBrown hat gesagt.:


> Soll doch dann auch mit Maven bauen...


Ja schon tut er dann aber auch nicht. Wenn man nur die build.xml weglöscht erstellt er einfach nach dem neu öffnen des Projektes eine neue und buildet mit ant wieder. Und wenn man nbproject weglöscht geht gar nichts mehr.
Aber ich denke das Thema ist jetzt nicht mehr so wichtig ....


----------



## mrBrown (10. Jan 2018)

Dir ist es nicht möglich, ein reines Maven-Projekt mit Netbeans zu öffnen?


----------



## JStein52 (10. Jan 2018)

Nur wenn ich es von vorneherein als Maven-Projekt in Netbeans anlege.


----------



## mrBrown (10. Jan 2018)

Dann kannst du ja so gut wie keine Projekte von anderen öffnen?
Das erscheint mir ziemlich merkwürdig...


----------



## JStein52 (10. Jan 2018)

mrBrown hat gesagt.:


> Dann kannst du ja so gut wie keine Projekte von anderen öffnen?


Na ja, entweder es sind fertige NetBeans-Projekte die als Maven-Projekt angelegt wurden dann ist logischerweise alles gut. Und ansonsten kann ich ja ein neues NetBeans-Projekt als Maven Project from existing sources anlegen. So müsste ich es ja auch machen wenn ich ein fremdes Eclipse-Project öffnen will. Aber der Fall kommt ja in der Praxis nicht soooo oft vor.


----------



## mrBrown (10. Jan 2018)

Da stimmt irgendwas mit deiner Netbeans-Installation nicht.
Hab's grad getestet (nach langem Kampf mit Netbeans und Java 9...), reine Maven-Projekte lassen sich hier mit frischer Netbeans-Installation problemlos öffnen und werden auch als solche erkannt


----------



## sascha-sphw (10. Jan 2018)

JStein52 hat gesagt.:


> Na ja, entweder es sind fertige NetBeans-Projekte die als Maven-Projekt angelegt wurden dann ist logischerweise alles gut. Und ansonsten kann ich ja ein neues NetBeans-Projekt als Maven Project from existing sources anlegen. So müsste ich es ja auch machen wenn ich ein fremdes Eclipse-Project öffnen will. Aber der Fall kommt ja in der Praxis nicht soooo oft vor.



Der Fall kommt bei mir immer vor wenn ich ein Projekt clone, da für mich IDE spezifische Dateien nichts im Repository verloren haben.



mrBrown hat gesagt.:


> Hab's grad getestet (nach langem Kampf mit Netbeans und Java 9...), reine Maven-Projekte lassen sich hier mit frischer Netbeans-Installation problemlos öffnen und werden auch als solche erkannt


Ich glaube er meint "from existing sources". Ein valides Maven Projekt hat ja erstmal keine IDE Projekt Dateien.


----------



## mrBrown (10. Jan 2018)

sascha-sphw hat gesagt.:


> Ich glaube er meint "from existing sources". Ein valides Maven Projekt hat ja erstmal keine IDE Projekt Dateien.


Schreibt er doch auch?
IDE-Daten braucht‘s ja auch keine

Ich kann Maven-Projekte ganz normale über „Open Project“ öffnen, nichts mit Import oder so, nicht mal Maven muss man irgendwo auswählen (und das kenne ich auch so als Normalfall)


----------



## JStein52 (11. Jan 2018)

mrBrown hat gesagt.:


> IDE-Daten braucht‘s ja auch keine


Also entweder reden wir total aneinander vorbei oder du hast etwas ganz anderes das zufällig NetBeans heisst. Unter IDE-Daten verstehe ich jetzt mal das Verzeichnis nbproject mit Inhalt. Und wenn das nicht da ist kann ich via "Open Project" da gar nix öffnen ! Dann ist es schlicht und einfach kein NetBeans-Projekt.


----------



## JStein52 (11. Jan 2018)

Habe mal gegoogelt, wenn ich es so mache wie hier beschrieben geht es:

You can import Eclipse Maven project in netbean, just follow the steps.

1) In Netbean , File->New Project->Select maven in left Pane -> Select Project with existing POM on right pane and finish.

2) Now you will be asked to open a eclipse project just open it and that's it..

I hope you will solve your problem with this......


----------



## mrBrown (11. Jan 2018)

JStein52 hat gesagt.:


> Also entweder reden wir total aneinander vorbei oder du hast etwas ganz anderes das zufällig NetBeans heisst. Unter IDE-Daten verstehe ich jetzt mal das Verzeichnis nbproject mit Inhalt. Und wenn das nicht da ist kann ich via "Open Project" da gar nix öffnen ! Dann ist es schlicht und einfach kein NetBeans-Projekt.



Ich mein NetBeans IDE 8.2 (Build 201609300101), gestern Abend frisch installiert.

Die ist das Test-Projekt:

```
$ tree    
.
├── pom.xml
└── src
    └── com
        └── example
            └── Main.java

3 directories, 2 files
```

Über "Open Project" wird der öffnen Dialog angezeigt, in diesem wird das als Maven-Project darstellt, und ich kann es öffnen. Genau so, wie es auch schon in der Doku für 6.Irgendwas steht.

Über "Build" baut er es ganz normal mit Maven, über "Run" startet er es mit dem exec-maven-plugin - alles genau so, wie er soll.

Danach sieht das so aus:

```
test$ tree
.
├── pom.xml
├── src
│   └── com
│      └── example
│          └── Main.java
└── target
    ├── classes
    │   └── com
    │      └── example
    │          └── Main.class
    ├── generated-sources
    │   └── annotations
    ├── maven-status
    │   └── maven-compiler-plugin
    │      └── compile
    │          └── default-compile
    │              ├── createdFiles.lst
    │              └── inputFiles.lst
    └── test-classes

14 directories, 5 files
```

Ein "Netbeans-Projekt" im Sinne des dort liegenden Ordners ist es auch danach nicht, auch wenn es mit Netbeans geöffnet und ausführbar ist.


----------



## mrBrown (11. Jan 2018)

JStein52 hat gesagt.:


> Eclipse Maven project


Ein ganz normales Maven-Project, kein "Eclipse Maven project"!


----------



## JStein52 (11. Jan 2018)

mrBrown hat gesagt.:


> Ein ganz normales Maven-Project, kein "Eclipse Maven project"!


Ja, ist schon klar. Aber das ist beim Import dann wohl wurscht, Hauptsache POM. Das funktioniert dann.
Aber ich denke wir können das Thema beenden.


----------



## mrBrown (11. Jan 2018)

JStein52 hat gesagt.:


> Ja, ist schon klar. Aber das ist beim Import dann wohl wurscht, Hauptsache POM.


Das sollte aber eben auch über „Open Project“ klappen, ohne „Import“ oder „new“ 


JStein52 hat gesagt.:


> Aber ich denke wir können das Thema beenden.


Wäre allerdings uU nen Bugreport wert, wenn deine IDE nicht so funktioniert, wie sie sollte...


----------

