lombok-ex icon indicating copy to clipboard operation
lombok-ex copied to clipboard

编译失败,我配置错了嘛

Open k9990009 opened this issue 3 years ago • 3 comments

写的SPI的demo

编译部分错误信息

Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1 at java.lang.String.substring (String.java:1927) at com.github.houbb.lombok.ex.processor.SPIAutoProcessor.getAliasAndDir (SPIAutoProcessor.java:90) at com.github.houbb.lombok.ex.processor.SPIAutoProcessor.process (SPIAutoProcessor.java:53) at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor (JavacProcessingEnvironment.java:794) at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs (JavacProcessingEnvironment.java:705) at com.sun.tools.javac.processing.JavacProcessingEnvironment.access$1800 (JavacProcessingEnvironment.java:91) at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run (JavacProcessingEnvironment.java:1035) at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing (JavacProcessingEnvironment.java:1176) at com.sun.tools.javac.main.JavaCompiler.processAnnotations (JavaCompiler.java:1170) at com.sun.tools.javac.main.JavaCompiler.compile (JavaCompiler.java:856) at com.sun.tools.javac.main.Main.compile (Main.java:523) at com.sun.tools.javac.api.JavacTaskImpl.doCall (JavacTaskImpl.java:129) at com.sun.tools.javac.api.JavacTaskImpl.call (JavacTaskImpl.java:138) at org.codehaus.plexus.compiler.javac.JavaxToolsCompiler.compileInProcess (JavaxToolsCompiler.java:126) at org.codehaus.plexus.compiler.javac.JavacCompiler.performCompile (JavacCompiler.java:174) at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:1075) at org.apache.maven.plugin.compiler.CompilerMojo.execute (CompilerMojo.java:168) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192) at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105) at org.apache.maven.cli.MavenCli.execute (MavenCli.java:954) at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288) at org.apache.maven.cli.MavenCli.main (MavenCli.java:192) at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke (Method.java:498) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289) at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415) at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)

###发现是有依赖没导入 image

###看了下你的依赖 <dependency> <groupId>sun.jdk</groupId> <artifactId>tools</artifactId> <version>${java.version}</version> <scope>system</scope> <optional>true</optional> <systemPath>${java.home}/../lib/tools.jar</systemPath> </dependency>

###我是环境配置是 ` admin@dzsb-000460 MINGW64 /d/Program Files/Java/jdk1.8.0_152 $ echo $JAVA_HOME D:\Program Files\Java\jdk1.8.0_152

admin@dzsb-000460 MINGW64 /d/Program Files/Java/jdk1.8.0_152 $ pwd /d/Program Files/Java/jdk1.8.0_152

admin@dzsb-000460 MINGW64 /d/Program Files/Java/jdk1.8.0_152 $ ls bin/ jre/ src.zip COPYRIGHT lib/ THIRDPARTYLICENSEREADME.txt db/ LICENSE THIRDPARTYLICENSEREADME-JAVAFX.txt include/ README.html javafx-src.zip release

` 所以这个JAVA_HOME的配置。。。

另外请教下,打包的时候怎么把自己的META-INF/services/下的配置打包进去,而不被覆盖?

k9990009 avatar Jul 01 '20 08:07 k9990009