我用这样的scala代码用于echo服务.
import scala.actors.Actor import scala.actors.Actor._ import scala.actors.remote.RemoteActor._
class Echo extends Actor { def act() { alive(9010) register('myName, self) loop { react { case msg => println(msg) } } } } object EchoServer { def main(args: Array[String]): unit = { val echo = new Echo echo.start println("Echo server started") } } EchoServer.main(null)
但有一些例外.
java.lang.NoClassDefFoundError: Main$$anon$1$Echo$$anonfun$act$1 at Main$$anon$1$Echo.act((virtual file):16) at scala.actors.Reaction.run(Reaction.scala:76) at scala.actors.Actor$$anonfun$start$1.apply(Actor.scala:785) at scala.actors.Actor$$anonfun$start$1.apply(Actor.scala:783) at scala.actors.FJTaskScheduler2$$anon$1.run(FJTaskScheduler2.scala:160) at scala.actors.FJTask$Wrap.run(Unknown Source) at scala.actors.FJTaskRunner.scanWhileIdling(Unknown Source) at scala.actors.FJTaskRunner.run(Unknown Source) Caused by: java.lang.ClassNotFoundException: Main$$anon$1$Echo$$anonfun$act$1 at java.net.URLClassLoader$1.run(URLClassLoader.java:200) …
使用Scala RemoteActors时,我得到了一个引用scala.actors.remote.NetKernel的ClassNotFoundException.我复制了别人的例子,并添加RemoteActor.classLoader = getClass.getClassLoader
到我的演员,现在一切正常.为什么这有必要?
我有一个看起来像这样的课:
public class NumericalRange:IEquatable<NumericalRange>
{
public double LowerLimit;
public double UpperLimit;
public NumericalRange(double lower, double upper)
{
LowerLimit = lower;
UpperLimit = upper;
}
public bool DoesLieInRange(double n)
{
if (LowerLimit <= n && n <= UpperLimit)
return true;
else
return false;
}
#region IEquatable<NumericalRange> Members
public bool Equals(NumericalRange other)
{
if (Double.IsNaN(this.LowerLimit)&& Double.IsNaN(other.LowerLimit))
{
if (Double.IsNaN(this.UpperLimit) && Double.IsNaN(other.UpperLimit))
{
return true;
}
}
if (this.LowerLimit == other.LowerLimit && this.UpperLimit == other.UpperLimit)
return true;
return false;
}
#endregion
}
Run Code Online (Sandbox Code Playgroud)
该类包含一个数值范围的值.此类还应该能够保持默认范围,其中LowerLimit和UpperLimit都等于Double.NaN. …
我们有一个包含很少源文件(Scala和Java)的Scala项目,以及各种二进制格式(jar和DLL)中的一些依赖项.我想知道我们的共享git repo应该是什么.只有源文件(开发人员必须下载或以某种方式解析依赖项本身)或源文件和依赖项?我可以补充说,依赖项都是第三方,可以免费下载.
这有什么区别
/**
* comment goes here (notice the extra '*' in previous line)
*/
Run Code Online (Sandbox Code Playgroud)
还有这个?
/*
* comment goes here (notice the extra '*' is not present in previous line)
*/
Run Code Online (Sandbox Code Playgroud)
因为我注意到在eclipse中这两种评论风格有不同的颜色.第一个获得蓝色,第二个获得绿色.
这两种评论风格有什么区别吗?
我有一个程序集asdf.dll,它有一个类'Class1'.
我怎样才能获得Class1的类型?
string a = "Class1"; //Class1 is the name of class in asdf.dll
string typeString = typeof(Class1).FullName; // here I only have the string Class1 and not Class Class1
AssemblyName assemblyName = AssemblyName.GetAssemblyName("asdf.dll");
Type type = Type.GetType(typeString + ", " + assemblyName);
Run Code Online (Sandbox Code Playgroud)
如何从包含类名的字符串中获取类的类型?
我有一些多模块项目.一些模块被打包为战争,一些模块被打包为罐子.
当我从根模块开始时:mvn war:exploded
我认为它只会将步骤应用于战争项目.但它试图将mvn war:exploded
所有明显失败的项目(无web.xml等)应用于所有项目.
任何想法如何告诉maven仅适用于战争包装模块?