我的问题是,我不确定如何引用项目中“外部库”中的引导库。
在build.gradle文件中,我添加了:
compile group: 'org.webjars', name: 'bootstrap', version: '3.3.7'
所以下载了bootstrap库。 但是当我想在html文件中引用它并尝试使用复制路径函数时,我得到了这个:
C:\Users\Michael\.gradle\caches\modules-2\files-2.1\org.webjars\bootstrap\3.3.7\d6aeba80236573ed585baa657dac2b951caa8e7e\bootstrap-3.3.7.jar!\META-INF\resources\webjars\bootstrap\3.3.7\css\bootstrap.css
还尝试了这个'标准'路径(不工作):
<link rel="stylesheet" href="../css/bootstrap.min.css">
我正在使用Intellij(gradle项目)
答案 0 :(得分:0)
Gradle在本地下载和cahces dependecies。它会在需要时引用缓存中的工件,IDE,编译器都从缓存中获取工件的路径。 最终包含的引用引用缓存中存档中的文件。这不是浏览器所理解的。
您需要使用Copy Task将其放置在您可以访问它的项目中的某个位置,或者将其与您网站的其余部分一起打包。 复制特定依赖项为already addressed。 您需要另外提取工件。该文档包含有关如何read archive contents。
的示例这里有一个完整的解决方案:
apply plugin: "java"
repositories {
mavenCentral()
}
dependencies {
compile group: 'org.webjars', name: 'bootstrap', version: '3.3.7'
}
task copyBootstrap(type: Copy) {
configurations.compile
.files({ it.group.equals("org.webjars")})
.each {
from zipTree(it)
}
into "$buildDir/static_resources"
}
这会将您要查找的文件放在我的系统上的以下位置(Gradle 2.14.1):
build/static_resources/META-INF/resources/webjars/bootstrap/3.3.7/css/bootstrap.min.css
如果您只想提取特定文件或删除版本号,以便更容易引用that's also possible。
请注意,在$buildDir
中提取是一个好主意,因为大多数插件(包括java)都会被Clean任务自动清理,而且很难意外清理承诺。