我正在尝试使用以下Maven命令创建一个Jave Web项目
mvn archetype:generate -DgroupId=com.mazhar.event -DartifactId=EventBook2 -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
而且这个过程仍然存在 Genrating project in batch mode
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> maven-archetype-plugin:2.3:generate (default-cli) @ standalone-pom >>>
[INFO]
[INFO] <<< maven-archetype-plugin:2.3:generate (default-cli) @ standalone-pom <<<
[INFO]
[INFO] --- maven-archetype-plugin:2.3:generate (default-cli) @ standalone-pom ---
[INFO] Generating project in Batch mode
Run Code Online (Sandbox Code Playgroud)
这是我的系统细节
mvn -vsersion
Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a; 2013-09-17 20:22:22+0500)
Maven home: D:\servers\apache-maven\bin\..
Java version: 1.6.0_32, vendor: Sun Microsystems Inc. …Run Code Online (Sandbox Code Playgroud) 为什么以下代码会发出警报2?
var f = (function x(){ return 1; }, function y(){ return 2; })();
alert(f);
Run Code Online (Sandbox Code Playgroud)
我能看到的是,y函数以某种方式被执行并且x函数被忽略.(我已经确定我输入alert了两个函数,并且只调用了alertin y,这让我相信x函数根本没有被调用)
如果我删除该y功能,它会发出警报1.
这是怎么回事?
如何使用Git Extensions配置Araxis merge/diff?
我想配置Araxis merge与工具"Git Extensions",但没有发现任何帮助,所有的链接或搜索指示只到Git(使用shell),凡为Git的扩展是GUI工具,它有一个选项(在全局设置)为配置不同的工具merge和diff等.
从difftool我选择的下拉列表中Araxis,它会自动选择正确的已安装位置路径
C:/Program Files (x86)/Araxis/Araxis Merge/AraxisGitDiff.exe
Run Code Online (Sandbox Code Playgroud)
从mergetool下拉列表
C:/Program Files (x86)/Araxis/Araxis Merge/AraxisGitMerge.exe
Run Code Online (Sandbox Code Playgroud)
但是每个人都有一个带有difftool命令和mergetool 命令的额外文本框,我在其中尝试了以下命令
AraxisGitDiff.exe $1 $2
Run Code Online (Sandbox Code Playgroud)
请记住,上面的命令将替换从Git Extensions中选择的1和2,当我右键单击文件并保留选项时"Open with difftool"- > "A <-> B "屏幕上没有任何内容
Similalry制作它
AraxisGitDiff.exe $LOCAL $REMOTE
Run Code Online (Sandbox Code Playgroud)
不起作用
我清空这个文件,我看到以下错误.
---------------------------
Araxis Merge Command Line Compare Utility v7.0
---------------------------
Usage:
araxisgitdiff [/? | /h] <path> <old-file> <old-hex> <old-mode> <new-file> <new-hex> <new-mode> …Run Code Online (Sandbox Code Playgroud) 在尝试使用EJB创建应用程序之前,我正在尝试学习Spring Framework。
[Web services]->[Business Layer]->[DAO Layer]| [数据库]
以下列方式
WebServices:Jersey与结合使用的Restful API url mappings,支持JSON和XML format(news/list.json,news/list.xml)。端点(URL映射方法)接收到请求后,将通过查找(远程,本地)将其转发到相关的EJB。EJB处理所有事情,应用业务规则并将结果作为DTO(数据传输对象)返回,服务然后将结果转换为所需的格式(JSON,XML)
业务层:EJB通过remote和local接口实现的业务层(Facade),这些EJB可以调用其他EJB。WebService层(和/或Timer服务和MDB)也可以调用任何EJB。我使用了EJB Timer Service与计时器服务相关的功能,并使用了消息Message Drive Bean和用于日志记录和审核的拦截器。
DAO层:所有的数据库相关的功能(添加,编辑,删除,搜索)JPA/Hibernate使用EntityManager此写入(实体bean和HQL)。无缝事务支持,每个EJB的方法(基于查找)的调用都被视为一个单独的事务,而DAO层的调用方法是同一事务的一部分(前提是不提供任何额外的配置)。在一个事务中执行多个操作如果一个数据库操作失败,则所有其他操作将自动回滚。每个表都映射为具有关系等的实体类。
我已经研究过,Spring MVC但是对于上面的架构我无法正确地映射/理解,但我对AOP有所了解,并且我认为它是Interceptor的完美替代品(或者至少对我有用)
现在我的问题是如何在Spring框架中替换所有这些?
我正在尝试使用@Aspect 实现拦截器。我需要获得类级别注释
这是我的拦截器
@Aspect
public class MyInterceptor {
@Around("execution(* com.test.example..*(..))")
public Object intercept(ProceedingJoinPoint pjp) throws Throwable {
Object result;
try {
result = pjp.proceed();
} catch (Throwable e) {
throw e;
}
return result;
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的注释
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
String reason();
}
Run Code Online (Sandbox Code Playgroud)
这是课程
@MyAnnotation(reason="yes")
public class SomeClassImpl implements SomeClass {
}
Run Code Online (Sandbox Code Playgroud)
在拦截器中,我需要获取注释和分配给原因属性的值。
我看过一些代码如下
public interface IBean {
}
Run Code Online (Sandbox Code Playgroud)
及其在某些地方的用法
public void persist(List<? extends IBean> beansList) {
}
Run Code Online (Sandbox Code Playgroud)
但是可以使用以下代码来实现
public void persist(List<IBean> beansList) {
}
Run Code Online (Sandbox Code Playgroud)
那么这两种方法有什么区别,除了必须继承IBean接口的对象之外,这两种方法都有什么区别?
这是bean类
public class Category implement IBean {
//related fields
}
public class Product implement IBean {
//related fields
}
Run Code Online (Sandbox Code Playgroud) 我努力学习JAAS,然后我想出的条款SAML和Realm,现在我很迷茫.
在任何基本教程中JAAS,我们几乎都配置了正常Realm配置的基本配置.如果我读取配置SAML然后它看起来像JAAS.我完全不知道为什么不同的名字.可SAML是建立在境界和JAAS对SAML,不知道任何机构可以请写明的差异.
如果你分享任何链接,请一个简单的请求,请定义一点,以便它在我阅读时帮助我.
我已经在JBOSS和Glassfish上成功配置了JAAS的BASIC和FROM身份验证.它帮助我保护我JSP和Servelets(Web项目).在哪里查看是否要保护EJB作为我的应用程序的一部分.
我试图通过以下代码中提到的代码从Java Annotated类生成XSD 是否可以从JAXB注释类生成XSD
JAXBContext jaxbContext = JAXBContext.newInstance(Customer.class);
SchemaOutputResolver sor = new MySchemaOutputResolver();
jaxbContext.generateSchema(sor);
public class MySchemaOutputResolver extends SchemaOutputResolver {
public Result createOutput(String namespaceURI, String suggestedFileName) throws IOException {
File file = new File(suggestedFileName);
StreamResult result = new StreamResult(file);
result.setSystemId(file.toURI().toURL().toString());
return result;
}
}
Run Code Online (Sandbox Code Playgroud)
这种技术使用文件系统,我的要求是在不使用文件系统的情况下将XML作为String.
是否有可能实现SchemaOutputResolver可能无法将文件写入磁盘并返回或设置一些具有String值的实例变量.
我有一个表包含一个列作为CIDR值1.0.85.128/25,我有2个其他列(start_ip_range和end_ip_range),我想填充那两列FROM CIDR列
Java代码可能如下所示:
String[] parts = cidr.split("/");
String ip = parts[0];
int prefix;
if (parts.length < 2) {
prefix = 0;
} else {
prefix = Integer.parseInt(parts[1]);
}
String[] ipParts = ip.split("\\.");
int address = ((new Integer(ipParts[0]) << 24) & 0xFF000000)
| ((new Integer(ipParts[1]) << 16) & 0xFF0000)
| ((new Integer(ipParts[2]) << 8) & 0xFF00)
| (new Integer(ipParts[3]) & 0xFF);
int mask = (-1) << (32 - prefix);
int start = address & mask;
int end = start …Run Code Online (Sandbox Code Playgroud) Glassfish EJB在以下情况下抛出异常(第二次查找失败)
定时服务 - > JMS队列侦听器 - >第一个EJB - >第二个EJB
但如果Queue被删除它的工作正常.
定时服务 - >第一个EJB - >第二个EJB
注意:它们都位于同一空间的同一服务器上.
Timer Service运行30秒并发JMS Message送到队列@EJB@EJB(有些如何查找失败).定时器类
@Stateless
public class MyTimer {
public static final Logger logger = Logger.getLogger(MyTimer.class);
public MyTimer() {
}
@Schedule(second="*/30", minute="*",hour="*", persistent=false)
private void scheduledTimeout(final Timer t) {
logger.warn("********************* MyTimer scheduledTimeout called ********************************");
MyMessageSender sender = new MyMessageSender();
sender.sendMessage(" /////////////// Here is …Run Code Online (Sandbox Code Playgroud)