是否可以在Maven仓库中声明相同依赖项的多个版本?
我一次需要这些依赖项:
<dependency>
<groupId>org.bukkit</groupId>
<artifactId>craftbukkit</artifactId>
<version>1.7.9-R0.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.bukkit</groupId>
<artifactId>craftbukkit</artifactId>
<version>1.7.2-R0.3</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.bukkit</groupId>
<artifactId>craftbukkit</artifactId>
<version>1.6.4-R2.0</version>
<scope>compile</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
因为每个包含我关心的不同包:
org.bukkit.craftbukkit.v1_6_R3
org.bukkit.craftbukkit.v1_7_R1
org.bukkit.craftbukkit.v1_7_R3
如果我在第一个片段中声明了依赖关系,则只有最后一个生效.有没有办法在Maven实现这一目标?
@Edit可能有任何解决方法吗?
我有一个Java文件,结尾如下:
}
}
Run Code Online (Sandbox Code Playgroud)
我前段时间错误地删除了换行符,但直到今天我收到Git-GUI的错误消息时才很好
fatal: corrupt patch at line 36
Run Code Online (Sandbox Code Playgroud)
我尝试添加缺少的换行符,但Git似乎无法正确处理它:
在添加换行符之前:
}
}
\ No newline at end of file
Run Code Online (Sandbox Code Playgroud)
添加换行符后:
}
-}
\ No newline at end of file
+}
Run Code Online (Sandbox Code Playgroud)
它仍然给我这个错误.
我尝试恢复更改并仅添加换行而不对文件进行其他更改,但它也没有帮助.
编辑:添加两个甚至三个换行也没有用.
EDIT2:仅当在最后一个块中提交行时才会发生此错误.
假设我有一个内部方法,只能在某些情况下使用.
在Eclipse中,是否有可能将其标记为内部并在用于阻止我或将使用我的API的人误用而不知道他们正在做什么时显示警告.我无法更改其可见性,因为它也可能在其他包/非扩展类中使用.
像这样的东西:
@Internal
public void doSomeInternalStuff()
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
然后,在Eclipse中发出警告:

你明白了.
有希望吗?
所以,我得到的是:
class BlahBlah
{
public BlahBlah()
{
things = new ArrayList<Thing>();
}
public Thing[] getThings()
{
return (Thing[]) things.toArray();
}
private ArrayList<Thing> things;
}
Run Code Online (Sandbox Code Playgroud)
在另一堂课中,我得到了:
for (Thing thing : someInstanceOfBlahBlah.getThings())
{
// some irrelevant code
}
Run Code Online (Sandbox Code Playgroud)
错误是:
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [LsomePackage.Thing;
at somePackage.Blahblah.getThings(Blahblah.java:10)
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题?
我有这两个类的问题:
怪物:
public abstract class Creature extends Texturable
{
public Creature(String ID)
{
this.ID = ID;
} // end Creature()
protected void setMaximumHealthPoints(int maximumHealthPoints)
{
this.maximumHealthPoints = maximumHealthPoints;
} // end setMaximumHealthPoints()
protected void setMaximumSpeed(int maximumSpeed)
{
this.maximumSpeed = maximumSpeed;
} // end setMaximumSpeed()
...
protected String ID;
protected int maximumHealthPoints;
protected int maximumSpeed;
...
} // end Creature
Run Code Online (Sandbox Code Playgroud)
人类:
public class Human extends Creature
{
public Human(String ID)
{
this.ID = ID;
setMaximumHealthPoints(100);
setMaximumSpeed(4);
} // end Human()
} …Run Code Online (Sandbox Code Playgroud) 我试图找出如何确定给定对象在Object []数组中实例化的类.例如:
Object[] array = new Object[]{175, "sss", new Table(), true};
Object obj = array[0]; // hmm... can this be used as an integer or maybe as a string?
Run Code Online (Sandbox Code Playgroud)
它甚至可能吗?