【问题标题】:Maven like file exclude, include in SBTMaven 之类的文件排除,包括在 SBT
【发布时间】:2022-01-24 08:24:12
【问题描述】:

在 scala build.sbt 中寻找解决方案,排除路径下的所有依赖项的类,除了三个工件。

类似于 pom.xml 在这里所做的。

                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <filters>
                                <filter>
                                    <artifact>com.org.abc:*</artifact>
                                    <includes>
                                        <include>**</include>
                                    </includes>
                                </filter>
                                <filter>
                                    <artifact>io.foo:*</artifact>
                                    <includes>
                                        <include>**</include>
                                    </includes>
                                </filter>
                                <filter>
                                    <artifact>io.boo:*</artifact>
                                    <includes>
                                        <include>**</include>
                                    </includes>
                                </filter>
                                <filter>
                                    <artifact>*:*</artifact>
                                    <excludes>
                                        <exclude>javax/**</exclude>
                                        <exclude>servletx/**</exclude>
                                    </excludes>
                                </filter>
                            </filters>```

【问题讨论】:

    标签: scala maven sbt pom.xml sbt-assembly


    【解决方案1】:

    如果您有详细的打包要求,最好的解决方案是sbt-assembly 插件,它允许您创建相当复杂的构建。

    如果您只是想排除一些依赖项(这里看起来可能就是这种情况),您可以在 provided 配置到您的依赖项声明中的 build.sbt 文件,这将排除这些 jars 被打包.例如:

    libraryDependencies += "org.apache.derby" % "derby" % "10.4.1.3" % "provided"
    

    表示您希望客户端在运行应用程序时提供依赖项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-27
      • 1970-01-01
      • 1970-01-01
      • 2015-11-07
      • 1970-01-01
      • 2017-12-16
      • 2014-04-11
      相关资源
      最近更新 更多