我是maven的新手。我已按照此链接创建了CQ5 maven archtype Link
这些是我遵循的步骤:
1)在cmd(windows)
中执行此命令mvn archetype:generate -DarchetypeRepository=http://repo.adobe.com/nexus/content/groups/public/ -DarchetypeGroupId=com.day.jcr.vault -DarchetypeArtifactId=multimodule-content-package-archetype -DarchetypeVersion=1.0.2 -DgroupId=my-group-id -DartifactId=mvnproject -Dversion=1.0-SNAPSHOT -Dpackage=com.xxx.mvnproject -DappsFolderName=mvnproject -DartifactName="My Project" -DcqVersion="5.5.0" -DpackageGroup="xxx"
2)将Eclipse(Spring Tools Suite)中的项目导入为现有Maven项目。所以我相信STS已经安装了Maven M2插件。
3)在cmd mvn -PautoInstallPackage clean install
4)所以当我检查/ apps时,我看到我的一些东西被安装在CQ库中。
问题:在STS(Spring工具套件)中,Java文件没有" Ctrl + space"自动完成功能,因为它们不在java类路径中。如何激活自动完成功能?
另外,我不知道在哪里放置我的JSP。即使我有Jsp,我如何让它们像任何其他动态Web项目一样立即进行编译"
当我点击“运行” - >安装并不像mvn -PautoInstallPackage clean install
那么好
但是当我这样做时,没有任何内容安装在Cq存储库中。请帮忙。
请参阅下面的目录结构以供参考
编辑:我对maven项目做了一些事情并且自动完成功能开始工作但是它没有识别像SlingRepository等CQ类。任何输入?
答案 0 :(得分:1)
我有一个类似的问题,eclipse没有自动完成,因为我们的视图模块(ui)没有包含在构建路径中。使用服务模块(bundle),可以轻松清除自动设置的文件夹,并在构建路径中添加正确的文件夹src / main / java-请参阅下面的注释。我们的项目导入方式不同,从cq-blueprints原型开始,因此每个Maven reactor模块都显示在Project Explorer中与父级相同的级别。我认为不重要。在我们的例子中,我们有一个命名问题,要求我们在.project文件中添加链接资源(下面的代码)这创建了一个资源,允许我们在路径中包含'components'链接资源。
<linkedResources>
<link>
<name>components/apps/our-app-name</name>
<type>2</type>
<locationURI>PROJECT_LOC/src/main/content/jcr_root/apps/our-app-name</locationURI>
</link>
关于第二个问题。您可以通过设置配置文件来运行和部署来自eclipse的maven。从Maven菜单进入Run Configurations,使用autoInstallPackage
配置文件创建配置,然后运行应该安装和部署的配置。
对于JSP,您可以尝试使用jspc maven插件。但是没有必要自动完成。确保cq taglibs和global.jsp的路径正确...
<%@ taglib prefix="cq" uri="http://www.day.com/taglibs/cq/1.0" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="sling" uri="http://sling.apache.org/taglibs/sling/1.0" %>
<%@include file="../../../../../libs/foundation/global.jsp"%>
<cq:defineObjects />
答案 1 :(得分:0)
只是信息::我这样做了。右键单击项目Transform to Faceted项目。 Java文件开始被识别为Java文件。我通过在.m2文件夹中的实际罐子上提供位置来解决eclipse中的错误,所以现在我有了自动完成功能
然而,我无法建立这个项目,因为有些罐子没有从repo.adobe.com下载。我不知道为什么。我在POM中添加了正确的依赖项。无论如何,这是一个不同的问题。我现在已经完成了我的汽车,这很好。