将位于 jar 中的文件读取为 java.io.File 对象

2024-06-21

与此类似的问题已发布,但似乎没有一个答案对我的情况有帮助。 我正在编写一个程序包,它使用 Google 的凭据来获取 Google Apps 用户。为此,我使用服务帐户,因此为了检索凭据,我需要提供(除其他外)一个 p12 签名文件:

   Credential credential = null;
    try {
        credential = new GoogleCredential.Builder().setTransport(httpTransport)
                .setJsonFactory(jsonFactory)
                .setServiceAccountId(serviceAccountEmail)
                .setServiceAccountScopes(SCOPES)
                .setServiceAccountUser(serviceAccountUser)
            .setServiceAccountPrivateKeyFromP12File( java.io.File ))

最后一个函数必须接收 p12 签名文件的 java.io.File 对象。现在,整个事情都在我提供给其他人的罐子里运行,这造成了大部分问题。无论我采取哪种方法,在 jar 内运行时我都无法读取该文件。我尝试过的事情包括:

return new File(GoogleUserFactory.class.getClassLoader().getResource("/" +  filePath).toURI()); 

// (我也尝试过不使用“/”并直接使用 class.GetResource() )

URL url = GoogleUserFactory.class.getResource("/" + filePath);
return new File(url.getPath());  

// 我也尝试过 class.GetClassLoader.GetResource()...

甚至尝试将文件作为InputStreamReader读取并写入一个新文件(在我将为其创建一个文件对象并返回它之后),但由于我在一个jar中,我似乎没有权限写入新文件)


也许你可以使用.setServiceAccountPrivateKey(SecurityUtils.loadPrivateKeyFromKeyStore(SecurityUtils.getPkcs12KeyStore(), SOME_INPUT_STREAM, "notasecret", "privatekey", "notasecret");,如提议的here https://code.google.com/p/google-api-java-client/issues/detail?id=857 ?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将位于 jar 中的文件读取为 java.io.File 对象 的相关文章

随机推荐

  • libtiff 错误:未配置旧式 JPEG 压缩支持

    在 Mac OS X 上使用 libtiff 将 TIFF 转换为 BMP 时 出现以下错误 scannerdata tif Old style JPEG compression support is not configured scan
  • Mathematica 使用符号而不是数字调用 NMinimize?

    我在使用时注意到以下行为NMinimize在数学中 目标函数的第一次调用是使用变量名称 而不是像人们所期望的那样使用空间中的点 因此 例如 如果我的目标函数是一个模块 则该模块仅被调用一次 进行符号评估 然后在进一步的迭代中 使用变量空间中
  • 是否有控制输出页面方向的选项(使用 knit->pander->pandoc->docx)

    我正在玩Tal s http www r statistics com 2013 03 write ms word document using r with as little overhead as possible 介绍如何在现实情况
  • 改进OpenGL粒子系统

    我正在寻找一种提高粒子系统性能的方法 因为它在 FPS 方面的成本非常高 这是因为我打电话 glDrawElements GL TRIANGLE STRIP mNumberOfIndices GL UNSIGNED SHORT 0 我为应用
  • UnsupportedOperationException:特权进程中不允许使用 WebView

    我在用android sharedUserId android uid system 在我的清单中获得一些不可避免的权利 从 HDMI 输入读取安卓盒子 http eweat manufacturer globalsources com s
  • 是否可以覆盖 javaScript 原始数据类型?

    问题是不言自明的 我知道可以扩展原始数据类型 例如string但有可能覆盖它吗 这是在采访中被问到的一个问题 不 你不能覆盖任何东西 Ecma脚本定义原始类型 http es5 github com x4 3 2 Undefined Nul
  • 向对象添加元素

    我需要填充一个 json 文件 现在我有这样的东西 element id 10 quantity 1 我需要添加另一个 元素 我的第一步是使用该 json 将该 json 放入对象类型中cart JSON parse 现在我需要添加新元素
  • 禁用 Eclipse 的错误发现。 (Codan 误报)

    到目前为止我的经验是 Eclipse 的错误发现是可怕的错误 没有任何解决方案 尝试过 GXX EXPERIMENTAL CXX0X std c 0x std c 11在设置的每个点附近 我现在不想再寻找解决方案了 现在我只想看到真正的编译
  • 当您从不同的视图控制器进行segue时,如何将数据从一个视图控制器保存(追加)到另一个视图控制器?

    抱歉 问题有点长 请多多包涵 基本上 我正在尝试使用 swift 编写一个简单的递增 递减 ios 应用程序 我有三个主视图控制器 一个是 初始视图控制器 即根视图控制器 仅包含两个按钮 一个以模态方式呈现到实际计数页面 第二个视图控制器
  • 如何在 AngularJS 中获得更多堆栈跟踪

    我正在使用装饰器来更改 exceptionHandler行为 将日志发送到服务器 我的问题是异常的堆栈跟踪似乎毫无用处 仅显示堆栈的一部分 例如 语法错误 标记 未定义 不是列 NaN 处的主表达式 表达式 此处的表达式 at Error
  • 获取动画滚动视图的当前位置

    我遇到了以下问题 我对 uiscrollview 进行了子类化 其中 contentOffset 通过以下代码进行动画处理 UIView animateWithDuration 1 0 delay 1 0 options options a
  • VS 2015 中的 T4 模板

    如何得到T4模板支持视觉工作室 2015 在 VS 2015 中 文件属性不允许指定要标记的 tt 文件并允许从上下文菜单运行 我使用的是 VS 2015 CTP6 尝试过 VS2015 Ultimate CTP6 和 T4 支持 以及调试
  • 有没有办法在 Eclipse Package Explorer 中嵌套包? [复制]

    这个问题在这里已经有答案了 我一直在寻找答案 谢谢 在包资源管理器中打开视图菜单 在那里你可以改变包装介绍 from Flat to 分层的 我想这就是你要找的
  • 迭代字符串 R 的字符

    有人可以解释一下为什么这不会在 R 中单独打印所有数字 numberstring lt 0123456789 for number in numberstring print number 字符串不就是字符数组吗 在 R 中该怎么做 In
  • 如何向已建立的 SVN 存储库添加标签/主干/分支?

    假设您有一个已建立的 SVN 存储库 有数百个修订版本 并且已经存在一年多了 存储库在顶层没有标准标签 主干和分支 相反 它只是直接进入代码 有没有办法添加进去tags trunk and branches到顶层的存储库而不只是检查整个存储
  • 改造Android基本且简单的问题

    我的服务器返回简单的 Json 结果 如下所示 message Upload Success 我正在尝试将结果放入改造模型类中 public class MyResponse SerializedName message String me
  • 如何删除 Tkinter 网格布局中的整行

    我正在尝试使用 Tkinter 进行测试应用程序 我使用网格布局管理器创建了一个表 如下所示 有两个按钮 Add row and 删除行 Add row按预期工作 我如何删除选定的行 我的想法是为每一行提供一个检查按钮 如下所示 并且可以删
  • 如何在 PHP 中上传 .txt 文件并在另一页面上逐行读取该文件?

    我的目标是在表单上上传 txt 文件 浏览 将文件发布到另一个 php 页面 然后逐行读取该文件 到目前为止我的代码就在这里 文件 1 HTML 上传
  • Xamarin Studio 上的代码覆盖率

    是否有可靠的工具可以帮助我们测量单元测试的代码覆盖率 我主要从事 Xamarin 项目 在 Xamarin Studio 中 为了不得到大量 1 我环顾四周 但找不到足够成熟可靠的东西 我不要求产品免费 但如果是的话当然更好 Mono 4
  • 将位于 jar 中的文件读取为 java.io.File 对象

    与此类似的问题已发布 但似乎没有一个答案对我的情况有帮助 我正在编写一个程序包 它使用 Google 的凭据来获取 Google Apps 用户 为此 我使用服务帐户 因此为了检索凭据 我需要提供 除其他外 一个 p12 签名文件 Cred