我已经多次遇到这个问题而且我从不费心去了解它为什么会发生并学习"静态"实际意味着什么.我刚刚应用了Eclipse建议并继续进行的更改.
public class Member {
// Global Variables
int iNumVertices;
int iNumEdges;
public static void main(String[] args) {
// do stuff
iNumVertices = 0; // Cannot make a static reference to the non-static field iNumVertices
// do more stuff
} // main end
}
Run Code Online (Sandbox Code Playgroud)
所以eclipse告诉我这样做static int iNumVertices;,我不知道为什么.那究竟什么是"静态",它是如何使用的,使用"静态"的目的是什么,为什么它会给我这个问题呢?
我一直在尝试设置我的应用程序,以便我可以整天测试它的EJB,但我似乎无法超越看似简单的问题.
我在NetBeans 6.9中设置了标准的Maven Web应用程序.我已经自动为其中一个EJB生成了单元测试,但每当我去运行它时,我都会收到错误消息:
Testcase: initializationError(com.example.ExampleTest): Caused an ERROR
Absent Code attribute in method that is not native or abstract in class file javax/ejb/embeddable/EJBContainer
java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/ejb/embeddable/EJBContainer
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
Run Code Online (Sandbox Code Playgroud)
我已经研究了这个,我很确定问题是我的pom当前指向一个只包含API的jar
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
不是和可用于运行测试的实现.我很确定在尝试执行@BeforeClass的方法中测试失败了
container = EJBContainer.createEJBContainer();
Run Code Online (Sandbox Code Playgroud)
标准推荐的解决方案是将glassfish-embedded-all工件添加为具有测试范围的第一个项目依赖项
<dependency>
<groupId>org.glassfish.extras</groupId>
<artifactId>glassfish-embedded-all</artifactId>
<version>3.0.1</version>
<scope>test</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我可以在这里找到这个工件的Maven包:http://download.java.net/maven/glassfish/但是Nexus不能将这个目录或任何子目录识别为Maven 2存储库.我想我可以下载jar并手动将其安装到Nexus中,但这似乎打败了安装Nexus的人.
那么,是否有一个Maven存储库,Nexus能够编制索引以便为我提供glassfish-embedded-all工件?我读过的一些帖子提到现在正在使用的正确工件是javax.ejb,但我找不到更多的运气了.
你可能已经猜到我对单元测试是全新的,而且对JEE6来说还是比较新的; 这甚至是单元测试EJB的正确方法吗?
这是关于android上adb用法的查询.
有没有办法将远程端口即Android设备/仿真器上的端口转发到设备所连接的本地机器?
$ adb forward tcp:port1 tcp:port2#将计算机上的本地端口port1转发到设备上的port2.
提前致谢!
你能告诉我如何以第5范式获得这个ERD吗?昨天我们做了一个班级任务,我们有一个真正的客户进来并向我们解释他的需要我的小组想出了这个模型我试图更进一步看看我是否可以把它变成第5范式以便我可以更好地理解它,因为下周我们将做另一组ERD,必须在5nf,事情是我不知道从哪里开始,这本书没有通过我.你能帮助我吗?Erd Model http://img534.imageshack.us/img534/2118/capturekk.jpg
新信息"虚假客户需求"
客户有两个部门"实验室1,实验室2"从他那里订购医疗用品,如手套和π宠物等.部门已经增长,他想跟踪库存中的供应商销售的产品最优惠的价格和成本中心.
他解释这个项目的方式是,一个人去找他,然后要求他提供物资,然后他从人名和成本中心写下这个人的实验室.但他也希望跟踪按日期购买的商品以及库存和必须购买的商品.他还举了一个例子,一些用户希望来自特定供应商的商品可能没有最优惠的价格,并且他还在邮件中收到了一些他想跟踪的价格目录.
如果它混乱,我道歉,但这都是记忆.
这是我第一次写这篇文章,对不起,如果邮件没有被批评或太长.
我有兴趣了解更多关于如何在需要时获取对象的属性.所以我在这里阅读了标题为"数据模型"的Python 2.7文档,我遇到了__getattr__,为了检查我是否理解了它的行为,我编写了这些简单(和不完整)的字符串包装器.
class OldStr:
def __init__(self,val):
self.field=val
def __getattr__(self,name):
print "method __getattr__, attribute requested "+name
class NewStr(object):
def __init__(self,val):
self.field=val
def __getattr__(self,name):
print "method __getattr__, attribute requested "+name
Run Code Online (Sandbox Code Playgroud)
正如你所看到的那样,除了作为旧式和新式的课程外,它们是相同的.由于引用的文本说__getattr__"当一个属性查找没有找到通常位置的属性时调用",我想在这些类的两个实例上尝试+操作,看看发生了什么,期望相同的行为.
但结果让我感到困惑:
>>> x=OldStr("test")
>>> x+x
method __getattr__, attribute requested __coerce__
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'NoneType' object is not callable
Run Code Online (Sandbox Code Playgroud)
好!我没有定义一个方法__coerce__(虽然我期待一个请求__add__,没关系:),所以__getattr__参与并返回了一个无用的东西.但是之后
>>> y=NewStr("test")
>>> y+y
Traceback (most recent call last):
File …Run Code Online (Sandbox Code Playgroud) 我的团队在使用自制的DI容器在PHP项目中实现依赖注入时感到困惑.我们对DI的第一次迭代可能是极端的,甚至异常也被注入依赖于它们的类中.
这是一个好习惯还是矫枉过正?
我目前在使用tramp的远程机器上做了很多工作.但是,在构建make命令行时,项目逻辑会变得混乱,因为它会尝试cd到某些/ ssh:blah .... path.
tramp是否提供任何API函数来测试缓冲区或缓冲区文件名是否实际上由tramp管理并因此在远程计算机上管理?它是否可以提供有关连接类型的其他信息(例如ssh用户/主机详细信息)?
我可以有像...这样的路线吗?
routes.MapRoute(
"Boundaries-Show",
"Boundaries",
new
{
controller = "Boundaries",
action = "Show",
locationType = UrlParameter.Optional
});
Run Code Online (Sandbox Code Playgroud)
行动方法是......
[HttpGet]
public ActionResult Show(int? aaa, int? bbb, LocationType locationType) { ... }
Run Code Online (Sandbox Code Playgroud)
如果此人没有为locationType... 提供值,则默认为LocationType.Unknown.
这可能吗?
我已经剥离了动作方法以包含一个方法(直到我得到这个工作).它现在看起来像..
[HttpGet]
public ActionResult Show(LocationType locationType = LocationType.Unknown) { .. }
Run Code Online (Sandbox Code Playgroud)
..我收到此错误消息...
参数字典包含参数'locationType'的无效条目,用于'MyProject.Controllers.GeoSpatialController'中方法'System.Web.Mvc.ActionResult Show(MyProject.Core.LocationType)'.字典包含"System.Int32"类型的值,但该参数需要"MyProject.Core.LocationType"类型的值.参数名称:参数
是否认为可选的路由参数LocationType是int32而不是自定义Enum?
我有两种类型的字符串, 'hello', 'helloThere'.
我想要的是改变它们,使它们读起来像:'Hello', 'Hello There'视情况而定.
这样做有什么好办法?
谢谢
我得到了以下R代码,我需要将它转换为python并在python环境中运行它,基本上我用rpy2模块完成了这个,但是看起来有点沉闷与python做同样的事情,所以有人能找到更好的方法使用rpy2模块将以下R代码重写为等效的python脚本?
mymad <- function (x)
{
center <- median(x)
y <- abs(x - center)
n <- length(y)
if (n == 0)
return(NA)
half <- (n + 1)/2
1.4826 * if (n%%2 == 1) {
sort(y, partial = half)[half]
}
else {
sum(sort(y, partial = c(half, half + 1))[c(half, half +
1)])/2
}
}
Run Code Online (Sandbox Code Playgroud) java ×2
python ×2
.net ×1
adb ×1
android ×1
asp.net-mvc ×1
class ×1
coding-style ×1
ejb-3.1 ×1
emacs ×1
enums ×1
erd ×1
forwarding ×1
getattr ×1
glassfish ×1
lowercase ×1
maven-2 ×1
mysql ×1
new-operator ×1
oop ×1
oracle ×1
php ×1
port ×1
r ×1
routes ×1
rpy2 ×1
sql ×1
static ×1
tramp ×1
unit-testing ×1
uppercase ×1