Osgi 在aem 6.2中使用mvn aem项目原型无法解析核心包-javax.inject无法解析

Osgi 在aem 6.2中使用mvn aem项目原型无法解析核心包-javax.inject无法解析,osgi,aem,osgi-bundle,sling,Osgi,Aem,Osgi Bundle,Sling,我正在尝试使用mvn aem项目原型()构建一个新项目,在部署时,核心捆绑包显示状态为“已安装”,但无法处于活动状态,并显示错误 javax.inject, version=[0.0,1) -- Cannot be resolved 我尝试添加此处建议的依赖项() org.apache.geronimo.specs )但他们没有解决 感谢您的帮助。经过一些研究,这里有一些解决上述问题的方法: HelloWorldModel.java中的注释“@Inject”。这可能并不理想,但如果您不打算

我正在尝试使用mvn aem项目原型()构建一个新项目,在部署时,核心捆绑包显示状态为“已安装”,但无法处于活动状态,并显示错误

javax.inject, version=[0.0,1) -- Cannot be resolved

我尝试添加此处建议的依赖项()


org.apache.geronimo.specs
)但他们没有解决


感谢您的帮助。

经过一些研究,这里有一些解决上述问题的方法:

  • HelloWorldModel.java中的注释“@Inject”。这可能并不理想,但如果您不打算使用吊索模型,那么这将起作用

    @Model(adaptables=Resource.class)
    public class HelloWorldModel {
    
    //@Inject
    private SlingSettingsService settings;
    
    //@Inject @Named("sling:resourceType") @Default(values="No resourceType")
    protected String resourceType;
    
  • 如果要使用AEM 6.1或更高版本,请使用而不是原型10。这是建议与AEM一起使用的模板,AEM更加复杂和最新


  • 在“org.apache.felix”插件标签下添加版本为“0.0.0,*”的“javax.inject”的导入包标签,如下所示:

    <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <extensions>true</extensions>
        <configuration>
            <instructions>
              <!-- <Embed-Dependency>
                    artifactId1,artifactId2;inline=true
              </Embed-Dependency> -->
    
              <!-- Import any version of javax.inject, to allow running on multiple versions of AEM -->
              <Import-Package>javax.inject;version=0.0.0,*</Import-Package>
    
              <Sling-Model-Packages>com.xyz.sample_test_impl.core</Sling-Model-Packages>
            </instructions>
         </configuration>
    </plugin>
    
    
    org.apache.felix
    maven捆绑插件
    真的
    javax.inject;版本=0.0.0*
    com.xyz.sample\u test\u impl.core
    
    尝试将依赖项列表与以下内容同步。事实上,在添加了

            <dependency>
                <groupId>javax.inject</groupId>
                <artifactId>javax.inject</artifactId>
                <version>1</version>
                <scope>provided</scope>
            </dependency>
    
    
    javax.inject
    javax.inject
    1.
    假如
    
    到general pom.xml和

    
    javax.inject
    javax.inject
    

    给它的孩子../core/pom.xml

    你写了什么*;范围=编译|运行时;maven bundle插件说明中的inline=false谢谢。试过了,但问题是一样的。下面的代码没有激活bundle:org.apache.felix maven bundle plugin 2.5.3 true*;范围=编译|运行时;内联=假
            <dependency>
                <groupId>javax.inject</groupId>
                <artifactId>javax.inject</artifactId>
                <version>1</version>
                <scope>provided</scope>
            </dependency>
    
            <dependency>
                <groupId>javax.inject</groupId>
                <artifactId>javax.inject</artifactId>
            </dependency>