回想一下angular.module的方法签名.如果提供了第二个参数,requires
那么我们将创建一个新模块而不是检索现有模块.从我看过的所有文档和示例中,这个参数在使用时总是传递一个空数组.我的问题是,requires
除了告诉Angular创建一个新模块而不是获取现有模块之外,是否还要用于其他任何事情?如果我把它传递给非空数组会发生什么?这些值是否用于任何其他目的?非常感谢与解决方案的链接.谢谢.
如果我有多个Maven插件的执行并且他们共享至少一个相同的配置值,我是否有办法在插件的所有执行之间共享此配置.
考虑具有两个执行的构建插件的简单情况:
<plugin>
<!-- ID, version... -->
<executions>
<execution>
<id>ID1</id>
<configuration>
<myConfig>foo</myConfig>
...
</configuration>
</execution>
<execution>
<id>ID2</id>
<configuration>
<myConfig>foo</myConfig>
...
</configuration>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
我怎样才能重写这个,以便执行ID1
和ID2
执行都使用相同的myConfig
配置值?
我对提出的JavaScript do expression构造有疑问。有许多示例说明如何使用它从同时具有if
和的条件语句中返回值else
。对于if
和else if
和也有效else
。
那只有一个if
子句但没有else if
或没有的条件else
呢?这是do
表达式的有效用法吗?
我的用例是有条件地在React组件中显示内容。我想这样写JSX代码,但不确定它是否有效:
export default function myComponent(props) {
return (
<div>
{do {
if (true) {
<p>If statement is true</p>
}
}}
<p>I am always rendered</p>
</div>
);
}
Run Code Online (Sandbox Code Playgroud)
我还问了这个要点的问题。
比方说我有这个课程:
@Singleton
public class Parent { ... }
Run Code Online (Sandbox Code Playgroud)
而这堂课:
public class Child extends Parent { ... }
Run Code Online (Sandbox Code Playgroud)
在我的Java应用程序中,我的应用程序依赖于Guice注入来创建对象.如果我创建了一个Child
through 实例Injector.createInstance(Child.class)
,那么该实例将自动成为Singleton(因为父项被注释为Singleton),或者我是否需要显式添加@Singleton
注释Child
?
我有一个使用Maven构建的Java项目,因此我的构建过程在项目的pom.xml文件中定义.我的开发团队使用各种插件来检查源代码的质量; 一个这样的插件使用PMD来检查代码.插件确保每次我们mvn install
在项目上执行时都运行PMD ,如果存在违规,它将使构建失败.这是我们的pom.xml中的插件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>2.7.1</version>
<configuration>
<targetJdk>1.6</targetJdk>
<linkXref>false</linkXref>
<failOnViolation>true</failOnViolation>
<failurePriority>1</failurePriority>
<rulesets>
<ruleset>config/pmd-rulesets.xml</ruleset>
</rulesets>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
我的问题是有一些时候 - 特别是当我正在开发一个任务并且我想检查我的代码是否构建时,但是在我准备好将我的源代码提交给SCM以进行自动构建和发布之前对其他人 - 我想要抑制PMD违规导致我的构建失败.我知道一个这样的解决方案是进入代码并添加注释以抑制警告(http://pmd.sourceforge.net/suppressing.html),但我相信以这种方式编辑源代码只是为了抑制这些违规是烦人且容易出错.我能做的另一件事是编辑我的pom并注释掉PMD插件.但是,我再次发现,更改一个对我的整个应用程序至关重要的文件很烦人且容易出错.
我的团队所希望的解决方案是允许我们简单地将某种标志或参数传递到我们的mvn
命令中,以快速告诉构建过程跳过PMD插件.例如,每当我们在开发阶段的某个时刻运行安装并且我们知道集成测试可能会失败时(例如,Web服务可能不活动),我们会在-Dskip.integration.tests=true
期间传递标记mvn install
.这是一个比编辑我们的测试文件或更改pom.xml更清晰的解决方案.我正在寻找一个类似的变量,以便我们快速跳过PMD违规.谢谢!
PS:我完成了我的作业.以下两个Stackoverflow问题不包含我想要的解决方案:
考虑以下代码段...
public static UserStatus getEnum(int code) {
switch (code) {
case 0:
return PENDING;
case 1:
return ACTIVE;
case 2:
return SUSPENDED;
case 3:
return DELETED;
case 4:
return LOGIN_DISABLED;
default:
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,案件中的第3和第4(案例3和案例4)被SONAR检测为幻数.
为了避免这个问题,我改变了我的代码段如下...
public static UserStatus getEnum(int code) {
final int Pending=0;
final int Active=1;
final int Suspended=2;
final int Deleted= 3;
final int Login_details=4;
switch (code) {
case Pending:
return PENDING;
case Active:
return ACTIVE;
case Suspended:
return SUSPENDED;
case Deleted:
return DELETED;
case Login_details: …
Run Code Online (Sandbox Code Playgroud) 我想知道在Java 7 钻石操作符与先前版本的Java的语言构造方面是否存在任何已知的性能差异.
基本上,使用它更快:
List<String> myList = new ArrayList<>()
Map<String, Integer> myMap = new HashMap<>()
Run Code Online (Sandbox Code Playgroud)
或者使用这个:
List<String> myList = new ArrayList<String>()
Map<String, Integer> myMap = new HashMap<String, Integer>()
Run Code Online (Sandbox Code Playgroud)
它们的速度是否相同?
假设我在Java项目中使用Spring,并且具有以下接口和类:
public interface MyInterface { ... }
@Component
public class MyInterfaceMainImpl implements MyInterface { ... }
@Component
@Profile("mock")
public class MyInterfaceMockImpl implements MyInterface { ... }
@ContextConfiguration(locations = {"classpath:my-context.xml"})
@ActiveProfiles(profiles = {"mock"})
public class MyInterfaceTest extends AbstractTestNGSpringContextTests {
@Inject
private MyInterface myInterface;
...
}
Run Code Online (Sandbox Code Playgroud)
假设my-context.xml对包含我的接口及其实现类的包启用了组件扫描。当我将概要文件指定为“模拟”时,出现类似以下内容的错误:“期望单个匹配的Bean,但找到了2:...”。
知道如何避免在注入过程中使我的非概要文件方法成为匹配的bean吗?还是唯一可以为主要实现类提供配置文件的解决方案?那是我试图避免的解决方案。
我试图将Eclipse IDE(Helios)的运行时Ant版本从Eclipse内置的过时版本更改为我计算机上其他地方保存的更强大和最新版本(Windows XP Professional).为了进行此更改,我必须转到Window - > Preferences - > Ant - > Runtime - > Classpath,然后将Ant Home更改为较新Ant版本的主目录.这导致以下是 - 否弹出消息:
指定的Ant运行时类路径不包含tools.jar库.这可能会影响使用各种任务的能力.忽略这个可能的问题?
即使恢复到Ant Home的原始内置目录,也会产生相同的弹出警告消息.此外,尽管出现此警告,但我的Ant build.xml脚本运行正常.
我知道有一些其他SOF问题,状态涵盖了类似的问题:Ant构建脚本执行期间的错误消息,因为缺少tools.jar.这些问题似乎与JAVA_HOME变量问题(相关问题)有关.这是Eclipse试图警告我的吗?或者是关于某些不同的警告?我相信我的计算机上正确设置了ANT_HOME和JAVA_HOME变量.
我的问题是关于Java GAE应用程序(链接)中的HTTP会话.在appengine-web.xml的默认版本中,会话被禁用.此HTML注释位于XML文件的每个起始版本中:
<!--
HTTP Sessions are disabled by default. To enable HTTP sessions specify:
<sessions-enabled>true</sessions-enabled>
It's possible to reduce request latency by configuring your application to
asynchronously write HTTP session data to the datastore:
<async-session-persistence enabled="true" />
With this feature enabled, there is a very small chance your app will see
stale session data. For details, see
http://code.google.com/appengine/docs/java/config/appconfig.html#Enabling_Sessions
-->
Run Code Online (Sandbox Code Playgroud)
我很明白设置<sessions-enabled>
为true 的好处:我们可以利用servlet中的HTTP会话.然而,这已经让我不知道为什么会有人永远不希望启用放在首位会议.启用会话的缺点是什么?有什么用例可以让他们禁用?
我不确定这个问题是否与GAE的Python或Go运行时相关,我只了解Java运行时.
我有鱼贝安装在家酿通过我的Mac OS X.要配置终端应用程序使用鱼壳而不是bash shell,我运行chsh -s /usr/local/bin/fish
一次更改我的默认shell(按照brew安装的注意事项的建议),然后我将fish
命令添加到我的~/.bash_profile
文件末尾以获得鱼每次打开新的终端窗口时打开.
我面临的问题是当我退出时.基于我在其他人的Mac计算机上看到的,我安装鱼的方式与我一样,打字exit
会立即关闭窗口,即使鱼在bash上运行.当我尝试同样的事情时,会发生一些非常时髦的行为.首先,鱼壳没有直接退出终端窗口,我现在必须退出bash.但是,除此之外,bash shell处于一种非常奇怪的状态.我在命令中键入的所有字符都不会出现在命令提示符中.此外,如果我按Enter键,提示将不会像正常情况那样创建新行.
必须有某种配置我已经关闭.有任何想法吗?
我发现这个链接似乎解决了我的问题:http://support.apple.com/kb/ta27005
我有一个使用Spring MVC框架和Maven作为其构建系统的Java项目.我想使用的主要IDE是Eclipse for Java EE.我正在为我的应用程序使用标准的Maven项目结构:源代码在src/main/java
,应用程序的资源在,src/main/resources
以及与Web容器相关的代码src/main/webapp
.在src/main/webapp/WEB-INF
,我有一个web.xml
用于配置我的服务器的文件和用于Spring相关文件的多个文件夹,例如上下文XML文件和视图.这些Spring文件在web.xml中合法链接.
当我尝试使用Maven-Tomcat7-Plugin(通过mvn tomcat7:run-war
目标)运行项目时,我的项目成功启动,我能够查看我的网页,看到我的REST控制器在运行中没有问题.
但是,当我尝试在Eclipse中运行项目时,使用它的Run As Server
选项,它永远不会工作,我不知道为什么不.我一直收到错误对话框标题服务器错误和消息选择无法在任何服务器上运行.我已经在Eclipse中合法配置了Tomcat 7服务器运行时; 我可以使用这个运行时没有任何问题,我的其他Java项目.我已经尝试过Google,Stackoverflow和博客建议的所有内容,以便在Eclipse服务器上运行Eclipse Maven Spring项目.我试图删除Eclipse项目,删除Eclipse工作区文件并重新导入项目(作为Maven项目和常规Java项目),但无济于事.我也尝试在Project Facets中启用动态Web模块并将Web目录设置为src/main/webapp
,但也无济于事.
我很困惑; 我之前曾多次使用Eclipse中的Tomcat服务器,但它只是不适用于这个特定的Spring项目,即使它使用Maven在Tomcat上部署得很好.有谁知道可能出现什么问题?我忘记了一个故障排除步骤吗?我的项目设置是否有问题与Eclipse在Web Server项目中的期望相冲突?提前致谢.