0

我的应用程序在本地主机上成功运行,但是当我在 AWS 服务器上部署我的应用程序时,它无法在线运行。我有一个paytm-checksum-2.0. 使用外部 JAR 部署 Spring Boot 应用程序应该怎么做?我已将我的应用程序转换为一个 jar 文件,但我无法部署它...

文件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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.0.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>Spring-payment-integration</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>Spring-payment-integration</name>
    <description>Payment integration with paytm</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>
4

1 回答 1

0

我在你的 pom.xml 中看不到这个自定义 jar,你可能已经将它添加到你的 IDE 配置中(或任何其他只能在本地工作的方法),所以虽然它可能在远程本地工作,但这个 jar 不会出现,你将无法引用它。据我所知,这是官方 jar:https ://github.com/Paytm-Payments/Paytm_Web_Sample_Kit_Java/tree/master/Java%20Kit%201.8

但是,它似乎不在paytmmaven 上托管的工件上:https ://mvnrepository.com/artifact/com.paytm 。所以你现在有两个选择:

  1. 将 jar 添加到 nexus repo 或公共 repo(如 maven)并从那里引用它,这非常复杂(https://www.baeldung.com/install-local-jar-with-maven/

  2. 你可以用你的 springboot jar 打包这个自定义 jar。

一个。将其添加到您的项目位置。<file>${basedir}/dependencies/PaytmChecksum.jar</file>

湾。现在将其添加到您的 pom

<build>
        <plugins>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-install-plugin</artifactId>
                <executions>
                    <execution>
                        <id>install-Transformation lib</id>
                        <phase>clean</phase>
                        <configuration>
                            <file>${basedir}/dependencies/PaytmChecksum.jar</file>
                            <repositoryLayout>default</repositoryLayout>
                            <groupId>org.paytm</groupId>
                            <artifactId>paytmchecksum</artifactId>
                            <version>1.0</version>
                            <packaging>jar</packaging>
                            <generatePom>true</generatePom>
                        </configuration>
                        <goals>
                            <goal>install-file</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

        </plugins>
    </build>

C。清理项目mvn clean

d。现在使用引用文件

<dependency>
    <groupId>org.paytm</groupId>
    <artifactId>paytmchecksum</artifactId>
    <version>1.0</version>
</dependency>

e. 使用打包的 jar 构建它mvn clean install 现在将包含您的 Paytm jar。

于 2020-06-14T07:58:59.990 回答