如何使用intellij中的相对路径从外部库引用jar文件?

rwqw0loc  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(540)

在我的externallibraries目录中,我可以找到我的jar—例如hppc-0.8.1.jar(任意选择)。
外部库jar
我想引用这个jar,以便将它提供给配置中的sparksession。然而,我只能参考绝对路径,这是一个问题,因为我的队友和我共享回购。
我如何引用这个jar,这样就不必使用绝对路径,并且每次推送时都会有合并冲突?注解行是我的队友路径,而包含的路径是我的路径。

.appName(appName)
                    .master("spark://" + sparkHost + ":" + sparkPort)
                    .config("es.nodes", esHost)
                    .config("es.port", esPort)
                    .config("es.index.auto.create", "true")
                    .config("es.read.metadata", true)
                    .config("es.mapping.date.rich", false)
                    .config("es.read.field.as.array.include", "OPUpdatedField")
//                    .config("spark.jars", "/Users/teammate/.gradle/caches/modules-2/files-2.1/org.elasticsearch/elasticsearch-hadoop/7.7.1/683ff752340d4f7466efba129cd8a8d62fe12093/elasticsearch-hadoop-7.7.1.jar")
                    .config("spark.jars", "/Users/myname/.gradle/caches/modules-2/files-2.1/org.elasticsearch/elasticsearch-hadoop/7.7.1/683ff752340d4f7466efba129cd8a8d62fe12093/elasticsearch-hadoop-7.7.1.jar")
                    .getOrCreate()```
xhv8bpkk

xhv8bpkk1#

如果库位于项目根目录中,则将使用占位符相对地存储路径。
在图书馆 .xml 文件或在项目中 .iml 您将看到如下内容:

<component name="libraryTable">
  <library name="libs">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/libs/json.jar!/" />

对于可以位于系统上任何位置的项目外部路径,请考虑使用路径变量。

相关问题