4

有任何人面临以下错误。为什么会导致.? 我正在使用以下版本的插件。

   <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.2</version>
    </plugin>

<plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-scr-plugin</artifactId>
                <version>1.20.0</version>
                <executions>
                    <execution>
                        <id>generate-scr-scrdescriptor</id>
                        <goals>
                            <goal>scr</goal>
                        </goals>
                        <configuration>
                            <!-- Private service properties for all services. -->
                            <properties>
                                <service.vendor>Adobe</service.vendor>
                            </properties>
                        </configuration>
                    </execution>
                </executions>
                <configuration>
                           <outputDirectory>${project.build.directory}/classes</outputDirectory>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-simple</artifactId>
                        <version>1.5.11</version>
                    </dependency>
                </dependencies>
            </plugin>

[错误] 无法在项目 osgiexample.core 上执行目标 org.apache.felix:maven-scr-plugin:1.20.0:scr (generate-scr-scrdescriptor):E:\MY-Work\TESTProj\osgiexample\core\ src\main\java\osgiexample\core\servlets\MyDataProviderServlet.java :无法加载编译的类:osgiexample.core.servlets.MyDataProviderServlet -> [帮助 1]

4

1 回答 1

1

这意味着SCR插件无法找到该文件对应的编译类文件MyDataProviderServlet.java

我只在以下情况下看到过这种情况:

  1. 我的项目路径中有特殊字符,导致 SCR 插件无法找到已编译的类。
  2. 我有一个*.java文件,但它的内容被暂时注释掉了。SCR 插件希望找到已编译的*.class文件,但没有可编译的内容(只是注释)。这导致了一条与您看到的完全相同的错误消息。

在我的脑海中,我想不出在没有 Compiler 插件首先失败的情况下 SCR 插件找不到类文件的其他情况。

我会在 Java 类本身中寻找一些不寻常的东西。这是否发生在具有 SCR 注释的其他类或仅这一类?

下一步,我将查看文件系统。可能是一个奇怪的字符或一个混淆插件的文件链接。

最后,我会检查 Maven 构建的其余部分。也许您正在使用其他插件,这些插件可能会在 SCR 插件执行之前删除或以其他方式破坏类文件?

于 2017-03-12T18:30:47.887 回答