Moin zusammen,
ich versuche jetzt seit etwa 2 Wochen eine gescheite Entwicklungsumgebung zu erstellen, aber leider komme ich da so gut wie garnicht weiter...
Ich finde nur Beiträge von vor 2-6 Jahren und die Anleitung ist auch schon wieder etwas älter... egal wie ich es versuche ich schaff es leider nicht deswegen wollte ich mal fragen ob jemand aktuell es schafft eine Entwicklungsumgebung in Win10/Win11 aufzusetzen?
vielleicht kann mir jemand dabei helfen? Wir könnten auch versuchen die fakturama.info|einrichten-einer-entwicklungsumgebung| neu zuschreiben
Über viele Rückmeldungen würde ich mich freuen
Grüße.
Schulschluss
Moin, die Anleitung ist wirklich etwas veraltet. Es ist aber eigentlich ganz easy 🙂
- Eclipse runterladen (idealerweise das RCP-Paket)
- Git-Repo von BitBucket auschecken (aktueller Branch: release/2.2.0)
- alles ins Eclipse importieren
- target setzen (/org.fakturama.target/org.fakturama.target.target)
- mvn clean package aufrufen
Damit sollte alles ok sein. Die Launch-Config ist auch da, es könnten aber ggf. paar alte Plugins drin sein, die mit den neueren Versionen aktualisiert werden müßten. Bei Bedarf gerne melden.
Viele Grüße
Ralf.
Wichtige Infos zum Posten im Forum.
Fehler gefunden?
Das Problem ist Leider Laut der Anleitung muss com.sebulli.fakturama.target als target gesetzt werden aber das gibt es nicht.
Aber dafür gibt es ja die Lösung, org.fakturama.target. Das als Target und es würde klappen, wenn nicht das Problem wäre dass die Links nicht aufgelöst werden können wie im Anahng.
Dann stoße ich auch auf das Problem das ich die API Baseline nicht setzten kann weil er da nichts findet Anhang.
Leider hat auch "mvn clean" nichts gebracht. (Anhang unten in der Console).

Das Problem ist Leider Laut der Anleitung muss com.sebulli.fakturama.target als target gesetzt werden aber das gibt es nicht.
Das verstehe ich nicht ganz. Das Verzeichnis existiert doch im git, und die target-Datei liegt da drin... Die muß man öffnen und dann auf den Button oben rechts klicken (Reload target oder so heißt der).
Du mußt den Branch release/2.2.0 nehmen, der master geht nicht (mehr), weil die Eclipse-Leute leider einige Repos weggeräumt haben.
Baseline kannst Du nur setzen, wenn das Target geladen ist.
Viele Grüße
Ralf.
Wichtige Infos zum Posten im Forum.
Fehler gefunden?
Moin,
okay das wusste ich nicht das Master nicht mehr geht und wir das Branch brauchen.
Leider ist in dem Branch auch "com.sebulli.fakturama.target" nicht enthalten.

Für die Nachwelt das ein Branch zu Clonen: git clone -b release/2.2.0 https:||bitbucket.org|fakturamadev|fakturama-2.git
Sorry, es heißt org.fakturama.target. Hier der Link: https://bitbucket.org/fakturamadev/fakturama-2/src/c9ab5e9cc9efabacf5d6f33da2c4bfb088f645d6/Fakturama-Parent/org.fakturama.target/org.fakturama.target.target?at=release%2F2.2.0
Viele Grüße
Ralf.
Wichtige Infos zum Posten im Forum.
Fehler gefunden?
Kein Problem, nun komm ich auch schon etwas weiter und einige fehler sind auch schon weniger nachdem ich den Branch 2.2.0 genommen habe und nicht den Master.
Allerdings komme ich dann immernoch nicht weiter, da die Target datei die Ziele nicht auflösen kann und auch nach dem setzen der Target Platform kann ich immernoch keine API Baseline setzten.


Das Passiert bei mir Leider nicht.Grüße
Die Baseline kannst Du erst setzen, wenn das Target komplett aufgelöst wurde. Falls da ein Fehler aufgetreten ist, steht der ganz am Schluß des Fensters (das sind so Einträge mit roten Kreuzchen). Dort steht auch meistens, was kaputt ist. Oftmals sind es irgendwelche Versionskonflikte, die durch Updates im Eclipse Repo zustande kommen.
Viele Grüße
Ralf.
Wichtige Infos zum Posten im Forum.
Fehler gefunden?
Abend zusammen,
ich hab es die letzten Taage nochmal ausprobiert und so hab ich es gemacht:
1. Eclipse herrunterladen:
2024-03
2. Den Branch clonen:
git clone -b release/2.2.0 https://bitbucket.org/fakturamadev/fakturama-2.git
3. Die Target Version anpassen
Danach habe ich in org.fakturama.target.target:
<version>0.13.0-SNAPSHOT</version> zu <version>0.13.0</version> und includeDependencyDepth zu "infinite", weil das in der Liste der Dependency nicht auftaucht. Aktuelle Version ist hier: https://odftoolkit.org/ReleaseNotes.html
da schein wohl die Version nicht zu passen, so:
<location includeDependencyDepth="infinite" includeDependencyScopes="compile" missingManifest="generate" type="Maven">
<dependencies>
<dependency>
<groupId>org.odftoolkit</groupId>
<artifactId>odfdom-java</artifactId>
<version>0.12.0</version>
<type>jar</type>
</dependency>
</dependencies>
</location>
4. org.fakturama.target als Target setzten wie in der Anleitung \/
5. Die Baseline API wie in der Anleitung setzten: https://www.fakturama.info/einrichten-einer-entwicklungsumgebung/
Rechtsklick auf org.fakturama.target > Run As > Maven build
Danach das gleiche bei dem Parent, Rechtsklick auf Fakturama-Parent > Run As > Maven build
Dort folgendes so ausfüllen:
Goals: clean package
Profiles: win
User settings: ..\Fakturama-Parent\com.sebulli.fakturama.model\META-INF\persistence.xml
Checkbox aktivieren bei "Update Snapshots" und "Skip Test" und die Threads auf 3
und dann Run.
Sollte das nicht Klappen wie bei mir, dann am besten folgendes löschen:
C:\Users\<PCNAME>\.m2\repository\.cache
C:\Users\<PCNAME>\.m2\repository\p2
(Falls p2 nicht existiert -> ignorieren.)
Zum Testen reicht in cmd im Parent Ordner zu sein und "mvn clean install -U" auszuführen. (Falls mvn nicht exestiert muss man es downloaden und den bin ordner zu den Umgebungsvariablen hinzufügen)
dann wird die fertige .exe erstellt. Die sich dann unter
<workspace>\fakturama-2\Fakturama-Parent\com.sebulli.fakturama.site\target\products
6. Beheben der Validierungsfehler in persistence_2.0.xsd wie auch in der Anleitung, die Datei war bei mir hier:
<workspace>\fakturama-2\Fakturama-Parent\com.sebulli.fakturama.model\model\
7. Fehlt nur noch das launchen aus Eclipse raus, das hat leider bei mir noch nicht geklappt, da bin ich dran....
FALLS HIER VON IRGENDWAS FALSCH IST BITTE SOFORT MELDEN. Dann werde ich es Korrigieren.
Moin, das ist glaube ich richtig. Für das Starten direkt aus Eclipse heraus gibt es eine Launch-Konfiguration. Die müßte aber auch schon angezeigt werden.Da muß man aber manchmal noch die Plugins bißchen nachbessern.
Viele Grüße
Ralf.
Wichtige Infos zum Posten im Forum.
Fehler gefunden?
Ja genau die hatte ich auch aber irgendwie ging die bei mir Leider nicht deswegen guck ich aktuell noch warum...
public String[] getVisibleProperties() {
return new String[] { "name", "description", "taxValue" };
}
final String folderWs = preferenceStore.getString(Constants.GENERAL_WORKSPACE);
String folderWs = System.getProperty("user.home");
try {
ScopedPreferenceStore preferenceStore =
new ScopedPreferenceStore(InstanceScope.INSTANCE, PLUGIN_ID_RCP);
String configuredWorkspace =
preferenceStore.getString(Constants.GENERAL_WORKSPACE);
if (configuredWorkspace != null && !configuredWorkspace.isBlank()) {
folderWs = configuredWorkspace;
}
} catch (Exception e) {
System.out.println("Preferences not available yet, using fallback log folder: " + folderWs);
e.printStackTrace();
}
ScopedPreferenceStore wurde benutzt, bevor Eclipse Preferences verfügbar waren.)void initialize() {
int currencyDecimals = 2;
boolean cashRounding = false;
try {
preferenceStore =
new ScopedPreferenceStore(
InstanceScope.INSTANCE,
FakturamaLogger.PLUGIN_ID_RCP);
useThousandsSeparator =
preferenceStore.getBoolean(
Constants.PREFERENCES_GENERAL_HAS_THOUSANDS_SEPARATOR);
currencyDecimals =
preferenceStore.getInt(
Constants.PREFERENCES_GENERAL_CURRENCY_DECIMALPLACES);
cashRounding =
preferenceStore.getBoolean(
Constants.PREFERENCES_CURRENCY_USE_CASHROUNDING);
} catch (Exception e) {
System.out.println(
"PreferencesService not available yet. Using defaults.");
e.printStackTrace();
useThousandsSeparator = false;
currencyDecimals = 2;
cashRounding = false;
}
try {
currencyLocale = localeUtil != null
? localeUtil.getCurrencyLocale()
: Locale.getDefault();
} catch (Exception e) {
currencyLocale = Locale.getDefault();
}
currencyFormat = NumberFormat.getCurrencyInstance(currencyLocale);
try {
OSGIServiceHelper.registerService(
Activator.getContext().getBundle(),
MonetaryConfigProvider.class,
DefaultConfigProvider.class);
mro = Monetary.getRounding(
RoundingQueryBuilder.of()
.setCurrency(Monetary.getCurrency(currencyLocale))
.setProviderName(
FakturamaMonetaryRoundingProvider.DEFAULT_ROUNDING_ID)
.setScale(currencyDecimals)
.set("cashRounding", cashRounding)
.build());
} catch (Exception e) {
System.out.println(
"Could not initialize monetary rounding. Using fallback.");
e.printStackTrace();
mro = null;
}
}
@Override
public void handleEvent(final Event event) {
System.out.println(
"APP_STARTUP_COMPLETE reached, restartApplication="
+ restartApplication);
if (modelService != null) {
final MTrimmedWindow mainMTrimmedWindow =
(MTrimmedWindow) modelService.find(
"com.sebulli.fakturama.application", app);
final ISaveHandler saveHandler =
ContextInjectionFactory.make(
SaveHandler.class,
mainMTrimmedWindow.getContext());
mainMTrimmedWindow.getContext()
.set(ISaveHandler.class, saveHandler);
}
final IWorkbench workbench = _context.get(IWorkbench.class);
if (restartApplication) {
System.out.println(
"WORKBENCH.RESTART SUPPRESSED FOR DEBUGGING");
return;
}
}
Das ist ja echt crazy... Bei mir funktioniert das alles ohne diese Änderungen. Die Klasse Vat_ ist übrigens eine gültige Klasse. Die wird allerdings erst durch einen Maven-Build erzeugt, weil das das Metamodel für die entsprechende Entity ist. Aber wenn's jetzt geht, isses ja ok 🙂 Aber check das bitte so nicht ein.
Viele Grüße
Ralf.
Wichtige Infos zum Posten im Forum.
Fehler gefunden?
Jau, stimmt jetzt geht es auch. Die Klasse VAT_ ist jetzt auch kein Problem mehr. Danke