Manifold is a Java compiler plugin, its features include Metaprogramming, Properties, Extension Methods, Operator Overloading, Templates, a Preprocessor, and more.
Describe the bug
Compiling the following hello string template code produces the following error:
public class Main {
public static void main(String[] args) {
String world = args.length > 0 ? args[0] : "world";
System.out.println("Hello $world!");
}
}
Error:
/Users/shai/Library/Java/JavaVirtualMachines/openjdk-19.0.1/Contents/Home/bin/java -javaagent:/Applications/IntelliJ IDEA CE.app/Contents/lib/idea_rt.jar=50837:/Applications/IntelliJ IDEA CE.app/Contents/bin -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath /Users/shai/dev/java-book/Manifold/ManifoldStringTemplates/target/classes:/Users/shai/.m2/repository/systems/manifold/manifold-templates-rt/2023.1.5/manifold-templates-rt-2023.1.5.jar:/Users/shai/.m2/repository/systems/manifold/manifold-ext-rt/2023.1.5/manifold-ext-rt-2023.1.5.jar com.debugagent.stringtemplates.Main
Exception in thread "main" java.lang.NoClassDefFoundError: manifold/rt/api/IBootstrap
at com.debugagent.stringtemplates.Main.<clinit>(Main.java:3)
Caused by: java.lang.ClassNotFoundException: manifold.rt.api.IBootstrap
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 1 more
Removing the scope entry from the POM here solves the issue. At least for now. I'm assuming there might be a better fix but for now I will submit a pull request that removes it from the documentation. I assume this might be needed for Gradle too but I didn't test that.
Describe the bug Compiling the following hello string template code produces the following error:
Error:
Removing the scope entry from the POM here solves the issue. At least for now. I'm assuming there might be a better fix but for now I will submit a pull request that removes it from the documentation. I assume this might be needed for Gradle too but I didn't test that.