我刚刚开始使用Scala开发,并且正在尝试将"newman"库添加到我的项目中,以便我可以执行JSON + REST.
不幸的是,我收到以下错误:
[error] (*:update) sbt.ResolveException: unresolved dependency: com.stackmob#newman_2.11;1.3.5: not found
Run Code Online (Sandbox Code Playgroud)
对于该项目的一些github问题,有一些提及没有2.11支持.所以,正如我的问题所说 - 这是正常的吗?我来自PHP生态系统,新版本的PHP解释器很少会导致编写器出现问题.
我应该注意我正在使用的Scala版本是什么?有没有办法绕过这个限制并强行安装?这是一个好主意吗?
在我的解决方案中,我有一个第三方A.dll与另一个B.dll(特定版本=真)依赖.但我有B.dll的旧版本,它有错误:
无法加载文件或程序集'B,Version = 2.0.0.1,...'
但我有B.dll与旧版本(2.0.0.0)
那我怎么解决我的问题呢?
如何松散版本依赖?
寻找更老的力量不存在?
什么是重要的A和B是第三方.所以我无法改变它.
我使用过Android Studio,但是当我尝试添加:compile 'de.greenrobot:eventbus:2.4.0'
我dependencies
在我的应用程序组件的gradle这个文件,我得到一个横幅:项目同步成功.打开"消息"视图以查看找到的错误.在消息窗格中,它显示错误消息:
Error:(28, 13) Failed to resolve: de.greenrobot:eventbus:2.4.0
<a href="openFile">Show in File</a><br><a href="open.dependency.in.project.structure">Show in Project Structure dialog</a>
Run Code Online (Sandbox Code Playgroud)
在github上检查EventBus时,我发现maven central上确实存在最新版本.
它可能是一个Android工作室配置错误或什么?
以下是其他依赖项工作正常(没有事件总线依赖):
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.aiesec"
minSdkVersion 9
targetSdkVersion 22
versionCode 1
versionName "0.1"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.0.0'
compile 'com.parse.bolts:bolts-android:1.+'
compile 'com.nineoldandroids:library:2.4.0'
compile …
Run Code Online (Sandbox Code Playgroud) dependencies android maven android-studio greenrobot-eventbus
这是我最初在build.gradle文件中的内容.
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.android.support:design:23.0.1'
compile 'de.hdodenhof:circleimageview:2.0.0'
compile 'com.android.support:recyclerview-v7:23.0.1'
compile 'com.github.bumptech.glide:glide:3.6.1'
compile 'com.android.support:support-v4:23.0.1'
compile 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1'
compile 'com.github.clans:fab:1.6.1'
compile 'joda-time:joda-time:2.8.2'
compile 'com.android.support:cardview-v7:23.0.1'
compile 'com.afollestad:material-dialogs:0.7.9.1'
compile 'com.wdullaer:materialdatetimepicker:1.5.3'
compile 'com.android.support:palette-v7:23.0.1'
}
Run Code Online (Sandbox Code Playgroud)
库材料对话框已更新,所以我试图在我的gradle文件中反映相同.图书馆说我应该像这样添加它.
dependencies {
compile('com.afollestad.material-dialogs:core:0.8.1.0@aar') {
transitive = true
}
}
Run Code Online (Sandbox Code Playgroud)
所以我尝试了这个,但是当我尝试这个时它拒绝重建项目,并且错误地说"未能解决:com.afollestad.material-dialogs:core:0.8.1.0"
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.android.support:design:23.0.1'
compile 'de.hdodenhof:circleimageview:2.0.0'
compile 'com.android.support:recyclerview-v7:23.0.1'
compile 'com.github.bumptech.glide:glide:3.6.1'
compile 'com.android.support:support-v4:23.0.1'
compile 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1'
compile 'com.github.clans:fab:1.6.1'
compile 'joda-time:joda-time:2.8.2'
compile 'com.android.support:cardview-v7:23.0.1'
compile 'com.wdullaer:materialdatetimepicker:1.5.3'
compile 'com.android.support:palette-v7:23.0.1'
compile('com.afollestad.material-dialogs:core:0.8.1.0@aar') …
Run Code Online (Sandbox Code Playgroud) 我在Windows 7上使用Gradle 2.7.我想在运行时运行我的Liquibase插件
gradle build
Run Code Online (Sandbox Code Playgroud)
所以我在build.gradle文件中有以下代码
// In this section you declare the dependencies for your production and test code
dependencies {
// The production code uses the SLF4J logging API at compile time
compile (
'commons-beanutils:commons-beanutils:1.8.3',
'commons-collections:commons-collections:3.2.1',
'org.apache.commons:commons-dbcp2:2.1.1',
'commons-lang:commons-lang:2.6',
'commons-logging:commons-logging:1.2',
'org.apache.commons:commons-pool2:2.4.2',
'org.directwebremoting:dwr:3.0.0-RELEASE',
'org.apache.httpcomponents:httpclient:4.5.1',
'org.codehaus.jackson:jackson-core-asl:1.9.13',
'org.codehaus.jackson:jackson-mapper-asl:1.9.13',
'net.sf.json-lib:json-lib:2.4:jdk15',
'jstl:jstl:1.2',
'log4j:log4j:1.2.15',
'joda-time:joda-time:2.8.2',
'org.mybatis:mybatis:3.3.0',
'org.mybatis:mybatis-spring:1.2.3',
'mysql:mysql-connector-java:5.1.36',
'org.springframework:spring-aop:4.2.1.RELEASE',
'org.springframework:spring-aspects:4.2.1.RELEASE',
'org.springframework:spring-beans:4.2.1.RELEASE',
'org.springframework:spring-context:4.2.1.RELEASE',
'org.springframework:spring-context-support:4.2.1.RELEASE',
'org.springframework:spring-core:4.2.1.RELEASE',
'org.springframework:spring-expression:4.2.1.RELEASE',
'org.springframework:spring-instrument:4.2.1.RELEASE',
'org.springframework:spring-instrument-tomcat:4.2.1.RELEASE',
'org.springframework:spring-jdbc:4.2.1.RELEASE',
'org.springframework:spring-jms:4.2.1.RELEASE',
'org.springframework:spring-messaging:4.2.1.RELEASE',
'org.springframework:spring-test:4.2.1.RELEASE',
'org.springframework:spring-tx:4.2.1.RELEASE',
'org.springframework:spring-web:4.2.1.RELEASE',
'org.springframework:spring-webmvc:4.2.1.RELEASE'
)
...
liquibase {
activities {
main {
File propsFile = …
Run Code Online (Sandbox Code Playgroud) 我有一个类需要很多依赖 - 在我看来,很多依赖是8和更多.它在IDE中看起来很难看,因为它会破坏行,在一种情况下我有3行构造函数签名:
第一步
public class FooClass
{
public FooClass(IDependency1 dependency1, IDependency2 dependency2, ..., IDependency8 dependency8, IDependency9 dependency9)
{
...
}
...
}
Run Code Online (Sandbox Code Playgroud)
我决定停止使用这种方法并创建依赖项字典.我取得了什么?漂亮的构造函数签名,但更容易获得运行时异常的可能性.
第二步
public class FooClass2
{
private IDictionary<Type, object> dependencyDictionary;
public FooClass2(IDictionary<Type, object> dependencyDictionary)
{
this.dependencyDictionary = dependencyDictionary;
...
}
...
public T GetObject<T>()
{
return (T)this.dependecyDictionary.FirstOrDefault(t => t.Key == typeof(T));
}
// USAGE
public void FooMethod()
{
IDependency1 = this.GetObject<IDependency1>();
...
}
}
Run Code Online (Sandbox Code Playgroud)
但是注册这种类型现在很难看.作为一个例子,我使用的是AutoFac,但任何其他依赖容器具有相同的行为.
var builder = new ContainerBuilder();
builder.Register(c => new FooClass2(new Dictionary<Type, …
Run Code Online (Sandbox Code Playgroud) c# dependencies dependency-injection unity-container autofac
据说scons使用MD5签名作为默认决策来确定源文件是否需要重新编译.例如,我有SConstruct如下:
Library('o.c')
Run Code Online (Sandbox Code Playgroud)
我的oc是:
$ cat o.c
/*commented*/
#include<stdio.h>
int f(){
printf("hello\n");
return 2;
}
Run Code Online (Sandbox Code Playgroud)
运行scons并删除注释行,再次运行scons.我希望scons不应该再次编译它,但实际上它是:
gcc -o o.o -c o.c
scons: done building targets.
Run Code Online (Sandbox Code Playgroud)
如果我更改SConstruct文件添加一行:
Decider('MD5').
Run Code Online (Sandbox Code Playgroud)
还是一样的结果.
我的问题是:如何确保对于scons,在更改源文件注释时,它们不会重新构建?
谢谢!
我有一个Gradle项目,它取决于另一个Gradle项目.我的项目结构是这样的:
在project1/build.gradle
我想添加project2
为依赖:
version '1.0-SNAPSHOT'
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
sourceSets {
main {
java {
srcDirs = [ 'src' ]
}
}
}
include ':project2'
project(':project2').projectDir = new File("../project2")
dependencies {
compile project(':project2')
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,我总是收到此错误消息:
错误:(21,0)无法在org.gradle.api.Project类型的根项目'project1'上找到参数[:project2]的方法include().
我正在使用Gradle 3.5,我在命令行(gradle build
)和IntelliJ中都收到此错误.我找到了一些关于同一问题的StackOverflow线程(这个和 这个),但它们没有帮助.
该摇篮多项目文档也没有提到,我可能会丢失,可能会导致错误的任何特殊要求.
当我离开include
呼叫时,我收到的消息是在根项目中找不到项目路径.
我也尝试将依赖项移动到子目录project1
,但没有成功.
我想知道我做错了什么,为什么显然没有其他人有同样的问题.我很感激提示. …
我在我的项目中使用AChartEngine并将其连接到build.gradle via
allprojects {
repositories {
jcenter()
maven {
url = "https://repository-achartengine.forge.cloudbees.com/snapshot/"
}
}
}
Run Code Online (Sandbox Code Playgroud)
在更新Android Studio和Gradle\Building机制后,我无法构建\使一组具有类似错误的项目如下 -
Error:(53, 24) error: cannot find symbol class ChartFactory
Run Code Online (Sandbox Code Playgroud)
对于每个java类,我在那里执行"import org.achartengine.ChartFactory"
我尝试添加"编译组:'org.achartengine',名称:'achartengine',版本:'1.2.0'"我尝试过Invalidate caches\Restart和Clean\Rebuild项目,我更改了标签maven中的语法并添加url后面的符号"=".它仍然不起作用.
Gradle 3.X或4.X没有看到包含libs的方式:maven {url =" https://repository-achartengine.forge.cloudbees.com/snapshot/ "
请帮我解决这个问题.
我创建了一个具有类依赖关系的android模块,如下所示:
implementation 'com.squareup.moshi:moshi:1.5.0'
implementation 'com.neovisionaries:nv-websocket-client:2.3'
Run Code Online (Sandbox Code Playgroud)
我将此模块添加到我的项目中.当我想使用它时,它说"无法访问com.neovisionaries.Adapter".
1 - 为什么它无法访问因为我认为我的Async类在后台调用该方法?
2 - 我应该将该依赖项添加到我的项目中吗?
我的模块课程
public class Async extends WebSocketAdapter {
....
public Async() {
}
public static Async getInstance(Context context) {
if (instance == null) {
sharedPrefs = context.getSharedPreferences(AsyncConstant.Constants.PREFERENCE, Context.MODE_PRIVATE);
moshi = new Moshi.Builder().build();
instance = new Async();
}
return instance;
}
public void webSocketConnect(String socketServerAddress, final String appId) {
WebSocketFactory webSocketFactory = new WebSocketFactory();
webSocketFactory.setVerifyHostname(false);
setAppId(appId);
setServerAddress(socketServerAddress);
try {
webSocket = webSocketFactory
.setConnectionTimeout(TIMEOUT)
.createSocket(socketServerAddress)
.addListener(this);
webSocket.connectAsynchronously();
} catch (IOException e) …
Run Code Online (Sandbox Code Playgroud)