我正在尝试使用maven部署AEM,因此我按照this tutorial进行操作。当我运行命令 mvn clear package 时,出现以下错误:
C:\workspace\myproject\app>mvn clean package
[INFO] Scanning for projects...
[WARNING] The POM for com.day.jcr.vault:maven-vault-plugin:jar:0.0.10 is missing
, no dependency information available
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
[ERROR] The project com.uum:app:1-SNAPSHOT (C:\workspace\myproject\app\pom.xml
) has 3 errors
[ERROR] Unresolveable build extension: Plugin com.day.jcr.vault:maven-vault-
plugin:0.0.10 or one of its dependencies could not be resolved: Failure to find
com.day.jcr.vault:maven-vault-plugin:jar:0.0.10 in http://repo.maven.apache.org/
maven2 was cached in the local repository, resolution will not be reattempted un
til the update interval of central has elapsed or updates are forced -> [Help 2]
[ERROR] Unknown packaging: content-package @ line 12, column 16
[ERROR] 'dependencies.dependency.groupId' for :core:jar is missing. @ line 1
8, column 22
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit
ch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please rea
d the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildin
gException
[ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/PluginResoluti
onException
myproject / app / pom.xml看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.uum</groupId>
<artifactId>parent</artifactId>
<relativePath>../parent/pom.xml</relativePath>
<version>1-SNAPSHOT</version>
</parent>
<artifactId>app</artifactId>
<packaging>content-package</packaging>
<name>Sample Application package</name>
<dependencies>
<dependency>
<groupId><!-- {groupId} --></groupId>
<artifactId>core</artifactId>
<version>${project.version}</version>
</dependency>
<!-- add additional dependencies -->
</dependencies>
<build>
<resources>
<resource>
<directory>${basedir}/META-INF</directory>
<targetPath>../vault-work/META-INF</targetPath>
</resource>
<resource>
<directory>${basedir}/jcr_root</directory>
<excludes>
<exclude>**/.vlt</exclude>
<exclude>**/.vltignore</exclude>
<exclude>**/*.iml</exclude>
<exclude>**/.classpath</exclude>
<exclude>**/.project</exclude>
<exclude>**/.DS_Store</exclude>
<exclude>**/target/**</exclude>
<exclude>libs/**</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>com.day.jcr.vault</groupId>
<artifactId>maven-vault-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<group>Sample</group>
<requiresRoot>true</requiresRoot>
<install>true</install>
<verbose>true</verbose>
<packageFile>${project.build.directory}/${project.artifactId}-${project.version}.zip</packageFile>
<version>${project.version}</version>
<properties>
<acHandling>overwrite</acHandling>
</properties>
<embeddeds>
<embedded>
<groupId><!-- {groupId} --></groupId>
<artifactId>core</artifactId>
<target><!-- {install path in the repository (e.g. /apps/myproject/install)} --></target>
</embedded>
</embeddeds>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>installPackages</id>
<activation>
</activation>
<build>
<plugins>
<plugin>
<groupId>com.day.jcr.vault</groupId>
<artifactId>maven-vault-plugin</artifactId>
<executions>
<execution>
<id>install-package</id>
<goals>
<goal>install</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
知道如何使用maven进行部署吗?
答案 0 :(得分:5)
看起来maven不知道在哪里可以找到maven-vault-plugin。您需要将Adobe存储库添加到您的maven POM,请参阅http://repo.adobe.com/。
这会导致Unresolveable build extension: Plugin com.day.jcr.vault:maven-vault-
plugin:0.0.10
错误和Unknown packaging: content-package @ line 12, column 16
错误。
此外,您仍需要在代码中留下需要替换的教程中的一些变量占位符(<groupId><!-- {groupId} --></groupId>
)。请参阅错误:
[ERROR] 'dependencies.dependency.groupId' for :core:jar is missing. @ line 18, column 22
在Vault插件配置的<embeddeds>
部分中,您可以指定要包含的maven依赖项。可以在此Managing packages with Maven页面中看到此示例。
如果您现在不想在程序包中包含任何外部依赖项,则可以完全删除<embeddeds>
部分。
答案 1 :(得分:0)
确保在构建项目之前已启动CQ / AEM。很多关于金库和maven的错误都是因为它而产生的。