Fehlerbehebung
tl:XMain basierte Tools starten seit der Maven Umstellung nicht mehr.
Analyse
tl:XMain versucht die benötigten Projekte aus der .classpath Datei von Eclipse auszulesen. Seit der Maven Umstellung sind die benötigten Projekte dort aber in den Maven Abhängigkeiten. Dadurch werden diese nicht gefunden. Letztlich scheitert der Start.
Stacktrace
Beispiel ZooKeeper:
Mär 23, 2022 3:27:45 PM com.top_logic.basic.core.log.JavaLoggingLog info INFORMATION: Analyzing 'C:\Users\jst.BOS\Desktop\eclipse\workspaces\tl_trunk_7\com.top_logic.kafka.server'. 2022-03-23 15:31:00,670 ERROR : top_logic.basic.config.ApplicationConfig - Configuration descriptor 'com.top_logic.basic.module.ManagedClass$ServiceConfiguration' has no property 'static-bundles', valid properties are: [class, configuration-interface, dependencies] at file:///WEB-INF/conf/topLogicKafkaServerConf.config.xml%20(C:/Users/jst.BOS/Desktop/eclipse/workspaces/tl_trunk_7/com.top_logic.kafka.server/src/main/webapp/WEB-INF/conf/topLogicKafkaServerConf.config.xml) line 16 column 21 at file:///WEB-INF/conf/topLogicKafkaServerConf.config.xml%20(C:/Users/jst.BOS/Desktop/eclipse/workspaces/tl_trunk_7/com.top_logic.kafka.server/src/main/webapp/WEB-INF/conf/topLogicKafkaServerConf.config.xml) line 16 column 21. com.top_logic.basic.thread.StackTrace: Configuration descriptor 'com.top_logic.basic.module.ManagedClass$ServiceConfiguration' has no property 'static-bundles', valid properties are: [class, configuration-interface, dependencies] at file:///WEB-INF/conf/topLogicKafkaServerConf.config.xml%20(C:/Users/jst.BOS/Desktop/eclipse/workspaces/tl_trunk_7/com.top_logic.kafka.server/src/main/webapp/WEB-INF/conf/topLogicKafkaServerConf.config.xml) line 16 column 21 at file:///WEB-INF/conf/topLogicKafkaServerConf.config.xml%20(C:/Users/jst.BOS/Desktop/eclipse/workspaces/tl_trunk_7/com.top_logic.kafka.server/src/main/webapp/WEB-INF/conf/topLogicKafkaServerConf.config.xml) line 16 column 21. at com.top_logic.basic.AbstractProtocol.makeStackTrace(AbstractProtocol.java:67) at com.top_logic.basic.AbstractProtocol.localError(AbstractProtocol.java:73) at com.top_logic.basic.AbstractProtocol.localError(AbstractProtocol.java:52) at com.top_logic.basic.ProtocolChain.error(ProtocolChain.java:92) at com.top_logic.basic.LogAdaptor.error(LogAdaptor.java:16) at com.top_logic.basic.config.InstantiationContextImpl.error(InstantiationContextImpl.java:59) at com.top_logic.basic.LogAdaptor.error(LogAdaptor.java:16) at com.top_logic.basic.MessageEnhancingLog.error(MessageEnhancingLog.java:17) at com.top_logic.basic.LogAdaptor.error(LogAdaptor.java:16) at com.top_logic.basic.config.InstantiationContextImpl.error(InstantiationContextImpl.java:59) at com.top_logic.basic.config.InstantiationContextAdaptor.error(InstantiationContextAdaptor.java:80) at com.top_logic.basic.config.ConfigurationReader$Handler.errorNoSuchProperty(ConfigurationReader.java:561) at com.top_logic.basic.config.ConfigurationReader$Handler.readContents(ConfigurationReader.java:516) at com.top_logic.basic.config.ConfigurationReader$Handler.readNextElement(ConfigurationReader.java:205) at com.top_logic.basic.config.ConfigurationReader$Handler.readConfigurationItem(ConfigurationReader.java:1317) at com.top_logic.basic.config.ConfigurationReader$Handler.readItemConfig(ConfigurationReader.java:1086) at com.top_logic.basic.config.ConfigurationReader$Handler.readItemConfig(ConfigurationReader.java:752) at com.top_logic.basic.config.ConfigurationReader$Handler.readElementValue(ConfigurationReader.java:654) at com.top_logic.basic.config.ConfigurationReader$Handler.readContents(ConfigurationReader.java:522) at com.top_logic.basic.config.ConfigurationReader$Handler.readNextElement(ConfigurationReader.java:205) at com.top_logic.basic.config.ConfigurationReader$Handler.readConfigurationItem(ConfigurationReader.java:1317) at com.top_logic.basic.config.ConfigurationReader$Handler.handleMapAdd(ConfigurationReader.java:1156) at com.top_logic.basic.config.ConfigurationReader$Handler.readMapEntry(ConfigurationReader.java:802) at com.top_logic.basic.config.ConfigurationReader$Handler.readElementValue(ConfigurationReader.java:673) at com.top_logic.basic.config.ConfigurationReader$Handler.readContents(ConfigurationReader.java:522) at com.top_logic.basic.config.ConfigurationReader$Handler.readNextElement(ConfigurationReader.java:205) at com.top_logic.basic.config.ConfigurationReader$Handler.readConfigurationItem(ConfigurationReader.java:1317) at com.top_logic.basic.config.ConfigurationReader$Handler.parseContents(ConfigurationReader.java:167) at com.top_logic.basic.config.ConfigurationReader$Handler.parse(ConfigurationReader.java:112) at com.top_logic.basic.config.ConfigurationReader.parseAndClose(ConfigurationReader.java:2097) at com.top_logic.basic.config.ConfigurationReader.readInternal(ConfigurationReader.java:2077) at com.top_logic.basic.config.ConfigurationReader.readInternal(ConfigurationReader.java:2060) at com.top_logic.basic.config.ConfigurationReader.read(ConfigurationReader.java:2043) at com.top_logic.basic.config.ConfigurationReader.read(ConfigurationReader.java:2005) at com.top_logic.basic.config.ApplicationConfig$Module.loadConfig(ApplicationConfig.java:497) at com.top_logic.basic.config.ApplicationConfig$Module.newImplementationInstance(ApplicationConfig.java:458) at com.top_logic.basic.config.ApplicationConfig$Module.newImplementationInstance(ApplicationConfig.java:1) at com.top_logic.basic.module.BasicRuntimeModule.startUp(BasicRuntimeModule.java:98) at com.top_logic.basic.module.ModuleUtil.start(ModuleUtil.java:261) at com.top_logic.basic.module.ModuleUtil.startModuleAndAdd(ModuleUtil.java:751) at com.top_logic.basic.module.ModuleUtil.startModulesAndAdd(ModuleUtil.java:705) at com.top_logic.basic.module.ModuleUtil.startUp(ModuleUtil.java:241) at com.top_logic.basic.module.ModuleUtil.startXMLProperties(ModuleUtil.java:1044) at com.top_logic.basic.XMLProperties.internalStart(XMLProperties.java:1145) at com.top_logic.basic.XMLProperties.restartXMLProperties(XMLProperties.java:1130) at com.top_logic.basic.XMain.startupXMLProperties(XMain.java:211) at com.top_logic.basic.XMain.initXMLProperties(XMain.java:146) at com.top_logic.basic.XMain.beforeActualPerformance(XMain.java:597) at com.top_logic.basic.Main.runMain(Main.java:257) at com.top_logic.kafka.server.main.ZooKeeperStarterMain.main(ZooKeeperStarterMain.java:36)
Lösungsansatz
Der tl:WrapperGenerator funktioniert und kann als Vorlage für eine Lösung dienen.
Test
Ohne zusätzliche deploy Ordner testen: ZooKeeper starten.
Mit zusätzlichen deploy Ordnern testen:
- In com.top_logic und com.top_logic.kafka.server im Ordner deploy jeweils einen Ordner xxx anlegen. Darin jeweils den webapp Ordner anlegen.
- In MultiFileManager.paths() einen Breakpoint machen.
- In der Launch Configuration "Start ZooKeeper" als Argumente für die Anwendung --aspect xxx hinzufügen.
- Die Launch Configuration ausführen.
- Im Breakpoint prüfen, ob in _paths die beiden webapp Ordner auftauchen.