首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修改JAR中包含的文件,该JAR是IntelliJ中的依赖项

如何修改JAR中包含的文件,该JAR是IntelliJ中的依赖项
EN

Stack Overflow用户
提问于 2019-08-03 01:51:25
回答 1查看 663关注 0票数 0

我在Intellij中使用Scala,遇到了一个问题。我已经包含了Java标记,以防有Java经验的人也能回答我的问题。

在我正在处理的某个依赖项的.I 2/cache文件夹中,有两个jar文件。一个包含.class文件,另一个包含.scala源文件。我希望能够修改其中一个jar,将其放到lib文件夹中,然后使用包含更改的jar运行我的程序。

不过我有个问题。我可以用jar修改源文件夹中的文件,但是当我把它放到lib中并运行它时,就不会出现更改。我已经尝试过在我的build.sbt文件中注释这个依赖项,但是即使在我运行sbt之后,它似乎仍然在使用我的旧依赖项。

我的问题可分为以下几部分:

1)我是否可以将一个只包含.scala文件的jar文件放到lib文件夹中,并期望它能够运行?

2)要删除该依赖项,是否将build.sbt文件中的行注释掉,然后运行sbt更新?

3)让我们说,将jar文件作为依赖项运行的唯一方法是使用包含.class文件的jar文件。如果我没有任何其他项目文件,比如.class文件,那么如何使用.scala文件重新构建jar文件呢?我有源文件,但我不知道如何使用它来重新创建jar,而不知道Scala项目中通常附带的所有其他信息。

我只使用Intellij编辑我的文件,并使用sbt运行代码。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-04 05:46:05

1)我是否可以将一个只包含.scala文件的jar文件放到lib文件夹中,并期望它能够运行?

这是不可能的,因为jar文件应该包含类文件,scala文件将作为资源而不是源文件处理。

2)要删除该依赖项,是否将build.sbt文件中的行注释掉,然后运行sbt更新?

我会运行sbt clean,我还没有试过,但是如果实际选择了库,sbt "show unmanagedBase"应该会列出它的库。

3)让我们说,将jar文件作为依赖项运行的唯一方法是使用包含.class文件的jar文件。如果我没有任何其他项目文件,比如.class文件,那么如何使用.scala文件重新构建jar文件呢?我有源文件,但我不知道如何使用它来重新创建jar,而不知道Scala项目中通常附带的所有其他信息。

理想的方法是为该源代码找到完整的存储库,更新源代码并运行sbt publishLocal,如果不可能,另一种方法是重构build.sbt并继续添加库,直到库正确编译,希望它不会有依赖关系,或者只有几个依赖项。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57334927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档