我尝试使用mvn aem-project-archetype(https://github.com/Adobe-Marketing-Cloud/aem-project-archetype)构建一个新项目,并在部署时,核心包显示状态为"已安装"但无法显示错误
javax.inject, version=[0.0,1) -- Cannot be resolved
我尝试按照此处的建议(https://github.com/Adobe-Marketing-Cloud/aem-project-archetype/issues/59)
添加依赖项 <dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-atinject_1.0_spec</artifactId>
<version>1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
并尝试了此处列出的所有解决方案(http://help-forums.adobe.com/content/adobeforums/en/experience-manager-forum/adobe-experience-manager.topic.html/forum__fikl-ive_just_updatedfro.html),但他们没有解决。
在此感谢任何帮助。
答案 0 :(得分:2)
在“ org.apache.felix 0.0.0,* ”的“ javax.inject ”的Import-Package标记>“插件标签如下:
<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>
答案 1 :(得分:0)
经过一些研究,这里有一些解决方案:
评论&#34; @ Inject&#34;在HelloWorldModel.java中。这可能不太理想,但如果您不打算使用Sling Models,那么这将有效。
@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或更高版本,请使用ACS's Lazybones AEM Template代替Archetype 10。这是与AEM一起使用的推荐模板,它更复杂,更新。
答案 2 :(得分:0)
尝试将您的依赖项列表与以下official sample project同步。事实上,在添加
之后,它对我有所帮助 <dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
<scope>provided</scope>
</dependency>
一般 pom.xml 和
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
</dependency>
到其子 ../core / pom.xml