在 war 打包 spring 引导中将文本文件放在哪里
where to put text file in war packing spring boot
我有一个 spring 引导 web 项目,我在几个文本文件中有某种 DB(数据库)(我不想使用 MongoDB 或 MySQL),我的整个项目都可以运行,但是一旦我将其打包到 war 中,它就会显示错误 500,并且无法找到这些包含重要信息的文本文件。
我需要将这些文本文件放在哪里?
考虑到您正在使用 Spring 启动,添加此依赖项,然后将其加载到您的启动应用程序::
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>spring-boot-jar-resources</artifactId>
<version>1.3</version>
</dependency>
public static void main(String[] args) {
StandardEnvironment environment = new StandardEnvironment();
new SpringApplicationBuilder()
.sources(SpringBootJarResourcesDemoApplication.class)
.environment(environment)
.resourceLoader(new JarResourceLoader(environment, "resources.extract.dir"))
.build()
.run(args);
}
这是承诺的程序:- 将文件保存在 src\main\resources\secretdbfile.txt
下
@SpringBootApplication
public class DemoApplication implements CommandLineRunner
{
final Logger LOGGER = LoggerFactory.getLogger(getClass());
public static void main(String[] args)
{
SpringApplication app = new SpringApplication(DemoApplication.class);
app.run(args);
}
@Override
public void run(String... args) throws Exception
{
try (InputStream inputStream = getClass().getResourceAsStream("/secretdbfile.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) {
String contents = reader.lines()
.collect(Collectors.joining(System.lineSeparator()));
System.out.println(contents);
}
}
}
我有一个 spring 引导 web 项目,我在几个文本文件中有某种 DB(数据库)(我不想使用 MongoDB 或 MySQL),我的整个项目都可以运行,但是一旦我将其打包到 war 中,它就会显示错误 500,并且无法找到这些包含重要信息的文本文件。
我需要将这些文本文件放在哪里?
考虑到您正在使用 Spring 启动,添加此依赖项,然后将其加载到您的启动应用程序::
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>spring-boot-jar-resources</artifactId>
<version>1.3</version>
</dependency>
public static void main(String[] args) {
StandardEnvironment environment = new StandardEnvironment();
new SpringApplicationBuilder()
.sources(SpringBootJarResourcesDemoApplication.class)
.environment(environment)
.resourceLoader(new JarResourceLoader(environment, "resources.extract.dir"))
.build()
.run(args);
}
这是承诺的程序:- 将文件保存在 src\main\resources\secretdbfile.txt
下@SpringBootApplication
public class DemoApplication implements CommandLineRunner
{
final Logger LOGGER = LoggerFactory.getLogger(getClass());
public static void main(String[] args)
{
SpringApplication app = new SpringApplication(DemoApplication.class);
app.run(args);
}
@Override
public void run(String... args) throws Exception
{
try (InputStream inputStream = getClass().getResourceAsStream("/secretdbfile.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) {
String contents = reader.lines()
.collect(Collectors.joining(System.lineSeparator()));
System.out.println(contents);
}
}
}