构建Spring项目以在另一个系统上运行

时间:2017-04-09 06:46:05

标签: spring hibernate spring-data remote-server

我在我自己的本地系统上成功创建了一个spring boot项目。我想构建一个jar文件,以便将其安装在远程服务器上。所以我不得不配置远程服务器的服务器地址和mySql地址但是我无法构建并且它有很多错误,并且它们都可以使我的系统无法看到远程服务器地址和数据库。

这是我的.properties文件:

public class two {

        private ArrayList<String> al = new ArrayList<String>();

        public void storage(String toBeAdded)
        {
            al.add(toBeAdded);
            System.out.println(al);
        }
    }

如何在其他配置上运行它? (另一个IP,数据源和...) 我做得对吗?感谢

2 个答案:

答案 0 :(得分:1)

您可以在此处使用弹簧配置文件: 使用application-{profile}.properties格式为不同的配置文件创建不同的属性文件,例如对于开发人员application-dev.properties,对于生产而言application-prod.properties将您的个人资料特定配置放入其中。然后,当您运行spring boot应用程序时,使用SPRING_PROFILES_ACTIVE环境变量或spring.profiles.active系统属性激活您想要的配置文件。

最后,您将使用命令运行jar文件 java -jar -Dspring.profiles.active=prod application.jar

答案 1 :(得分:0)

您可以在资源文件夹中使用不同的application.properties,并使用弹出配置文件(例如application-{profile}.properties)并使用指定的配置文件运行应用程序。但是,这仍然将配置项限制为属性文件中的硬编码。运行应用程序时,如果要将其分发给其他人,而不支持配置文件,则可以在启动时提供属性文件。

因此,在同一目录中,例如 .jar 文件,创建一个名为 application.properties 的文件,其中包含应用程序所需的所有变量的空占位符,以便管理员可以输入正确的详细信息。然后,他们将需要使用以下命令启动应用程序

java -jar 'applicaitonname.jar -Dspring.config.name="file:/path/to/application.properties"

或者springboot将从以下位置的application.properties文件加载属性:

  1. 当前目录的A / config子目录。
  2. 当前目录
  3. 未能加载资源文件夹中的默认application.properties。