如何设置sbt,以便在线时抓取所有必要的依赖项,让我离线工作呢?
我尝试在没有互联网连接区域的情况下处理我的项目.令我惊讶的是,在这种情况下,sbt遇到了麻烦.虽然,我应该将我的库放在缓存中(鉴于我最初在线启动项目),sbt无法解决某些依赖关系.
Sbt无法获取我的本地maven存储库,也无法找到我认为已经下载的其他依赖项(即在缓存中). *
我问这个是因为我对当前情况的了解(即没有互联网连接时): > sbt从maven缓存下载时遇到问题 例如,这里有sbt应该已经缓存的一些libs. [warn] file:///Users/maatary/.m2/repository/com/google/inject/extensions/guice-assistedinject/4.0-beta4/guice-assistedinject-4.0-beta4.pom [info] Resolving com.google.inject.extensions#guice-multibindings;4.0-beta4 ... **[warn] Host repo1.maven.org not found.** url=http://repo1.maven.org/maven2/com/google/inject/extensions/guice-multibindings/4.0-beta4/guice-multibindings-4.0-beta4.pom **[info] You probably access the destination server through a proxy server that is not well configured.** [warn] module not found: com.google.inject.extensions#guice-multibindings;4.0-beta4 **[warn] ==== local: tried [warn] /Users/maatary/.ivy2/local/com.google.inject.extensions/guice-multibindings/4.0-beta4/ivys/ivy.xml** [warn] ==== public: tried [warn] http://repo1.maven.org/maven2/com/google/inject/extensions/guice-multibindings/4.0-beta4/guice-multibindings-4.0-beta4.pom [warn] ==== Local Maven Repository: tried [warn] file:///Users/maatary/.m2/repository/com/google/inject/extensions/guice-multibindings/4.0-beta4/guice-multibindings-4.0-beta4.pom [info] Resolving jline#jline;2.12 ... [warn] :::::::::::::::::::::::::::::::::::::::::::::: [warn] :: UNRESOLVED DEPENDENCIES :: [warn] :::::::::::::::::::::::::::::::::::::::::::::: [warn] :: com.google.inject.extensions#guice-assistedinject;4.0-beta4: not found [warn] :: com.google.inject.extensions#guice-multibindings;4.0-beta4: not found 这是缓存内容: /Users/maatary/.ivy2/cache/com.google.inject.extensions extensions-parent guice-assistedinject guice-multibindings 您在每个文件夹中的位置: ivy-4.0-beta4.xml ivydata-4.0-beta4.properties 其他最后2个文件夹另外包含: 一个罐子,src和docs文件夹.在罐子里,你会发现罐子被拿走了. 例如 在辅助注射的jars文件夹中,您有: 吉斯 – assistedinject-4.0-beta4.jar 它的ivy.xml如下: <?xml version="1.0" encoding="UTF-8"?> <ivy-module version="2.0" xmlns:m="http://ant.apache.org/ivy/maven"> <info organisation="com.google.inject.extensions" module="guice-assistedinject" revision="4.0-beta4" status="release" publication="20140320225220" > <description homepage="" /> <m:properties__guice.with.no_aop>true</m:properties__guice.with.no_aop> <m:properties__gpg.skip>true</m:properties__gpg.skip> <m:properties__project.build.sourceEncoding>UTF-8</m:properties__project.build.sourceEncoding> <m:properties__guice.api.version>1.4</m:properties__guice.api.version> <e:sbtTransformHash>7174be3135c2a95a21c158fb6beb5a9621b5b898</e:sbtTransformHash> <m:properties__guice.with.jarjar>true</m:properties__guice.with.jarjar> <m:maven.plugins>null__maven-gpg-plugin__1.4|null__maven-gpg-plugin__1.4|null__maven-remote-resources-plugin__null|org.codehaus.mojo__animal-sniffer-maven-plugin__null|org.apache.felix__maven-bundle-plugin__null|null__mav en-source-plugin__null|null__maven-javadoc-plugin__null|null__maven-gpg-plugin__1.4|null__maven-gpg-plugin__1.4|null__maven-remote-resources-plugin__null|org.codehaus.mojo__animal-sniffer-maven-plugin__null|org.apache.felix__maven-bundle -plugin__null|null__maven-source-plugin__null|null__maven-javadoc-plugin__null</m:maven.plugins> </info> <configurations> <conf name="default" visibility="public" description="runtime dependencies and master artifact can be used with this conf" extends="runtime,master"/> <conf name="master" visibility="public" description="contains only the artifact published by this module itself,with no transitive dependencies"/> <conf name="compile" visibility="public" description="this is the default scope,used if none is specified. Compile dependencies are available in all classpaths."/> <conf name="provided" visibility="public" description="this is much like compile,but indicates you expect the JDK or a container to provide it. It is only available on the compilation classpath,and is not transitive."/> <conf name="runtime" visibility="public" description="this scope indicates that the dependency is not required for compilation,but is for execution. It is in the runtime and test classpaths,but not the compile classpath ." extends="compile"/> <conf name="test" visibility="private" description="this scope indicates that the dependency is not required for normal use of the application,and is only available for the test compilation and execution phases." extends ="runtime"/> <conf name="system" visibility="public" description="this scope is similar to provided except that you have to provide the JAR which contains it explicitly. The artifact is always available and is not looked up in a repos itory."/> <conf name="sources" visibility="public" description="this configuration contains the source artifact of this module,if any."/> <conf name="javadoc" visibility="public" description="this configuration contains the javadoc artifact of this module,if any."/> <conf name="optional" visibility="public" description="contains all optional dependencies"/> </configurations> <publications> <artifact name="guice-assistedinject" type="jar" ext="jar" conf="master"/> </publications> <dependencies> <dependency org="com.google.inject" name="guice" rev="4.0-beta4" force="true" conf="compile->compile(*),master(*);runtime->runtime(*);test->runtime(*),master(*)"> <artifact name="guice" type="jar" ext="jar" conf="compile,runtime"/> <artifact name="guice" type="jar" ext="jar" conf="test" m:classifier="tests"/> </dependency> <dependency org="cglib" name="cglib" rev="3.1" force="true" conf="test->runtime(*),master(*)"> <exclude org="asm" module="asm" name="*" type="*" ext="*" matcher="exact"/> </dependency> <dependency org="org.ow2.asm" name="asm" rev="5.0" force="true" conf="test->runtime(*),master(*)"/> <dependency org="junit" name="junit" rev="4.11" force="true" conf="test->runtime(*),master(*)"/> </dependencies> </ivy-module> 其属性文件如下: #ivy cached data file for com.google.inject.extensions#guice-assistedinject;4.0-beta4 #Sun Aug 17 20:44:39 CEST 2014 artifact:guice-assistedinject#src#jar#1257084071.is-local=false artifact:ivy#ivy#xml#-1879642188.exists=true artifact:guice-assistedinject#src#jar#1257084071.exists=true artifact:ivy#ivy#xml#-1879642188.location=http://repo1.maven.org/maven2/com/google/inject/extensions/guice-assistedinject/4.0-beta4/guice-assistedinject-4.0-beta4.pom artifact:guice-assistedinject#pom.original#pom#1062568006.is-local=false artifact:guice-assistedinject#jar#jar#-589994656.is-local=false artifact:guice-assistedinject#pom.original#pom#1062568006.location=http://repo1.maven.org/maven2/com/google/inject/extensions/guice-assistedinject/4.0-beta4/guice-assistedinject-4.0-beta4.pom artifact:guice-assistedinject#jar#jar#-589994656.location=http://repo1.maven.org/maven2/com/google/inject/extensions/guice-assistedinject/4.0-beta4/guice-assistedinject-4.0-beta4.jar artifact:guice-assistedinject#doc#jar#-1786980107.location=http://repo1.maven.org/maven2/com/google/inject/extensions/guice-assistedinject/4.0-beta4/guice-assistedinject-4.0-beta4-javadoc.jar artifact:guice-assistedinject#pom.original#pom#1062568006.exists=true artifact:guice-assistedinject#doc#jar#-1786980107.exists=true artifact:ivy#ivy#xml#-1879642188.is-local=false artifact:guice-assistedinject#doc#jar#-1786980107.is-local=false artifact:guice-assistedinject#src#jar#1257084071.location=http://repo1.maven.org/maven2/com/google/inject/extensions/guice-assistedinject/4.0-beta4/guice-assistedinject-4.0-beta4-sources.jar artifact:guice-assistedinject#jar#jar#-589994656.exists=true
见
Caching and Configuration.
此功能可能适用于您,也可能不适用,但它旨在解决您的方案.尝试它,如果它不起作用,请在Github上提交一个问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |