mvn install usage

The mvn install command is used in Apache Maven to compile, test, package, and install a project into the local repository (~/.m2/repository). This makes the built artifact available for use as a dependency in other projects.

Usage

mvn install

mvn clean install

What It Does

  1. Compiles the Code (mvn compile): Compiles the Java source files.
  2. Runs Tests (mvn test): Executes unit tests.
  3. Packages the Artifact (mvn package): Creates a JAR or WAR file.
  4. Installs the Artifact (mvn install): Copies the built artifact (e.g., JAR, WAR, POM) to the local Maven repository.

Common Options

  • -DskipTests: Skips running tests.

    mvn install -DskipTests

  • -T 4 or -T 1C: Runs the build in parallel (e.g., using 4 threads or 1 per CPU core).

    mvn install -T 4

  • -U: Forces an update of dependencies from remote repositories.

    mvn install -U

  • -Dmaven.javadoc.skip=true: Skips Javadoc generation.

    mvn install -Dmaven.javadoc.skip=true

When to Use mvn install

  • To install your project into the local repository for use in other projects.
  • Before deploying the artifact to a remote repository (mvn deploy).
  • To verify that the project is buildable and can be used as a dependency.
[root@yfw ~]# cd /opt/openfire [root@yfw openfire]# cat > install-sdk.sh << 'EOF' > #!/bin/bash > # > # Copyright (C) Jive Software, 2006-2022 > # > # Install the Openfire SDK into your local Maven repository. > # > > set -e > > # Check for required tools > if ! command -v mvn >/dev/null 2>&1; then > echo "Maven is required but not found. Please install Maven." > exit 1 > fi > > VERSION=$1 > if [ -z "$VERSION" ]; then > echo "Usage: $0 <version>" > echo "Example: $0 4.9.2" > exit 1 > fi > > REPO_DIR="$HOME/.m2/repository/org/igniterealtime/openfire/openfire/$VERSION" > > echo "Installing Openfire SDK version $VERSION..." > > # Create target directory > mkdir -p "$REPO_DIR" > > # Download openfire-${VERSION}.jar and openfire-${VERSION}-sources.jar > JAR_URL="https://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_${VERSION}.zip" > > echo "Downloading Openfire distribution package..." > TMP_ZIP=$(mktemp -t openfire-sdk-XXXXXX.zip) > wget -qO "$TMP_ZIP" "$JAR_URL" > > # Extract JAR and POM > unzip -p "$TMP_ZIP" openfire/lib/openfire.jar > "$REPO_DIR/openfire-$VERSION.jar" > unzip -p "$TMP_ZIP" openfire/lib/compile-only/pom.xml > "$REPO_DIR/openfire-$VERSION.pom" > > # Also install sources if available (optional) > if unzip -p "$TMP_ZIP" openfire/src/openfire_src.zip > /dev/null 2>&1; then > unzip -p "$TMP_ZIP" openfire/src/openfire_src.zip > "$REPO_DIR/openfire-$VERSION-sources.jar" > else > touch "$REPO_DIR/openfire-$VERSION-sources.jar" > fi > > # Cleanup > rm -f "$TMP_ZIP" > > echo "[INFO] SDK installed successfully at $REPO_DIR" > echo "[INFO] You can now build Openfire plugins using Maven." > EOF [root@yfw openfire]# [root@yfw openfire]# # 添加可执行权限 [root@yfw openfire]# chmod +x install-sdk.sh [root@yfw openfire]# ./install-sdk.sh 4.9.2 Maven is required but not found. Please install Maven. [root@yfw openfire]# ls ~/.m2/repository/org/igniterealtime/openfire/openfire/4.9.2/ ls: cannot access '/root/.m2/repository/org/igniterealtime/openfire/openfire/4.9.2/': No such file or directory [root@yfw openfire]# # 查看 rpm 是否已安装 maven 包 [root@yfw openfire]# rpm -q maven maven-3.5.4-5.module_el8.0.0+39+6a9b6e22.noarch [root@yfw openfire]# # 查找 mvn 所在位置 [root@yfw openfire]# find /usr -name mvn 2>/dev/null /usr/share/bash-completion/completions/mvn /usr/share/maven/bin/mvn [root@yfw openfire]# ln -s /usr/share/maven/bin/mvn /usr/local/bin/mvn ln: failed to create symbolic link '/usr/local/bin/mvn': Operation not permitted [root@yfw openfire]# mvn -v -bash: mvn: command not found [root@yfw openfire]#
10-02
[root@yfw ~]# cd /opt/openfire [root@yfw openfire]# cat > install-sdk.sh << 'EOF' > #!/bin/bash > # > # Copyright (C) Jive Software, 2006-2022 > # > # Install the Openfire SDK into your local Maven repository. > # > > set -e > > # Check for required tools > if ! command -v mvn >/dev/null 2>&1; then > echo "Maven is required but not found. Please install Maven." > exit 1 > fi > > VERSION=$1 > if [ -z "$VERSION" ]; then > echo "Usage: $0 <version>" > echo "Example: $0 4.9.2" > exit 1 > fi > > REPO_DIR="$HOME/.m2/repository/org/igniterealtime/openfire/openfire/$VERSION" > > echo "Installing Openfire SDK version $VERSION..." > > # Create target directory > mkdir -p "$REPO_DIR" > > # Download openfire-${VERSION}.jar and openfire-${VERSION}-sources.jar > JAR_URL="https://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_${VERSION}.zip" > > echo "Downloading Openfire distribution package..." > TMP_ZIP=$(mktemp -t openfire-sdk-XXXXXX.zip) > wget -qO "$TMP_ZIP" "$JAR_URL" > > # Extract JAR and POM > unzip -p "$TMP_ZIP" openfire/lib/openfire.jar > "$REPO_DIR/openfire-$VERSION.jar" > unzip -p "$TMP_ZIP" openfire/lib/compile-only/pom.xml > "$REPO_DIR/openfire-$VERSION.pom" > > # Also install sources if available (optional) > if unzip -p "$TMP_ZIP" openfire/src/openfire_src.zip > /dev/null 2>&1; then > unzip -p "$TMP_ZIP" openfire/src/openfire_src.zip > "$REPO_DIR/openfire-$VERSION-sources.jar" > else > touch "$REPO_DIR/openfire-$VERSION-sources.jar" > fi > > # Cleanup > rm -f "$TMP_ZIP" > > echo "[INFO] SDK installed successfully at $REPO_DIR" > echo "[INFO] You can now build Openfire plugins using Maven." > EOF [root@yfw openfire]# [root@yfw openfire]# # 添加可执行权限 [root@yfw openfire]# chmod +x install-sdk.sh [root@yfw openfire]# ./install-sdk.sh 4.9.2 Maven is required but not found. Please install Maven. [root@yfw openfire]# ls ~/.m2/repository/org/igniterealtime/openfire/openfire/4.9.2/ ls: cannot access '/root/.m2/repository/org/igniterealtime/openfire/openfire/4.9.2/': No such file or directory [root@yfw openfire]#
10-02
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值