[問題] 部署到server後找不到檔案

作者: qazsd ( )   2017-09-04 16:19:53
請問一下
Maven專案資料夾結構如下:
Project
├src/main/java
│ └ com.abc.xyz
│ └Auth.java
└src/main/resources
└certs
└credential.p12
Auth.java裡有段程式碼用來驗證:
=====================================================================
GoogleCredential credential = new GoogleCredential.Builder()
.setTransport(httpTransport)
.setJsonFactory(JSON_FACTORY)
.setServiceAccountId(SERVICE_ACCOUNT_EMAIL)
.setServiceAccountScopes(Collections.singleton(
CalendarScopes.CALENDAR_READONLY))
.setServiceAccountPrivateKeyFromP12File(new File("credential.p12"))
.setServiceAccountUser(SERVICE_ACCOUNT_USER)
.build();
=====================================================================
該專案檔的jar部署到Server上後
會出現找不到credential檔案的錯誤訊息
想請問credential檔案應該放在專案或server哪裡才能被找到?
又該怎麼指定路徑呢?
作者: ssccg (23)   2017-09-04 16:36:00
resources裡面的用Class.getResource,路徑是從resources目錄下開始的絕對路徑或相對於該Class package的路徑你的可用getClass().getResource("/certs/credential.p12")你用的new File傳相對路徑,是相對於java的執行路徑放在resources中的檔案會包在jar檔裡,不會直接在檔案系統
作者: qazsd ( )   2017-09-04 17:08:00
File file = new File(classLoader.getResource("cert.p12").getFile());String filePath = file.getAbsolutePath();上面那樣對嗎?在本機跑跟server跑都通用嗎?
作者: ssccg (23)   2017-09-04 18:31:00

Links booklink

Contact Us: admin [ a t ] ucptt.com