我用Maven构建了一个jar文件。我在jar文件的唯一类中使用以下代码来尝试访问配置文件。
import VueRouter from 'vue-router';
let routes = [
{
path: '/',
name: 'home',
component: require('./components/views/pages/home.vue')
},
{
path: '/faq',
name: 'faq',
component: require('./components/views/pages/faq.vue')
},
{
path: '/register',
name: 'register',
component: require('./components/views/pages/register.vue')
},
{
path: '/login',
name: 'login',
component: require('./components/views/pages/login.vue')
},
{
path: '/testPage',
name: 'testPage',
component: require('./components/views/pages/testPage.vue')
}
]
export default new VueRouter({
routes,
linkActiveClass: 'is-active',
mode: 'history'
});
config.properties文件位于路径/
中的jar文件中。我没有看到任何错误消息。但是,当我尝试访问Properties对象中的值时,这些值为null。
Route::get('/{vue?}', function () {
return view('index');
})->where('vue', '[\/\w\.-]*');
Route::get('/reservation/date/{date}', 'ReservationContoller@getScheduleForDate'); //route in question
Route::resource('/reservation', 'ReservationController');
Route::get ('/admin', 'AdminController@index');
Route::get('/home', 'HomeController@index')->name('home');
Auth::routes();
serverUrl为空。
关于如何在jar文件中获取配置文件中的值的任何建议?
答案 0 :(得分:0)
通常在maven中,资源位于src / main / resources下。
然后,您可以使用类加载器访问这些资源:
try (InputStream in = Myclass.class.getClassLoader().getResourceAsStream("config.properties") {
//doSomething
}
答案 1 :(得分:0)
在意识到以下方法仅适用于在类路径中加载文件之前,我面临着同样的问题。
InputStream is = Myclass.class.getClassLoader().getResourceAsStream("/config.properties");
对于选择文件而不管它们是否在类路径中,我使用Apache FileUtils。例如,我使用了关注,它就像一个魅力。
String str = FileUtils.readFileToString(new File(path_to_your_file), "UTF-8");
IOUtils.toInputStream(str, "UTF-8"); // if you need InputStream object
除了readFileToString
以外,您还可以查看FileUtils提供的其他API