作者qazsd (珍惜当下)
看板java
标题[问题] 部署到server後找不到档案
时间Mon Sep 4 16:19:53 2017
请问一下
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哪里才能被找到?
又该怎麽指定路径呢?
--
你的行动或许没有意义,但你还是非做不可。
这不是为了改变世界,而是为了让你成为不会被世界改变的那个人.
– 甘地(Mahatma Gandhi)
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 59.124.165.65
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1504513198.A.C66.html
1F:→ ssccg: resources里面的用Class.getResource,路径是从resources目 09/04 16:36
2F:→ ssccg: 录下开始的绝对路径或相对於该Class package的路径 09/04 16:36
3F:→ ssccg: 你的可用getClass().getResource("/certs/credential.p12") 09/04 16:38
4F:→ ssccg: 你用的new File传相对路径,是相对於java的执行路径 09/04 16:41
5F:→ ssccg: 放在resources中的档案会包在jar档里,不会直接在档案系统 09/04 16:41
6F:→ qazsd: File file = new File(classLoader.getResource("cert.p12" 09/04 17:08
7F:→ qazsd: ).getFile()); 09/04 17:08
8F:→ qazsd: String filePath = file.getAbsolutePath(); 09/04 17:09
9F:→ qazsd: 上面那样对吗?在本机跑跟server跑都通用吗? 09/04 17:10
10F:→ ssccg: 对 09/04 18:31