小编Ete*_*ner的帖子

为什么maven-war-plugin会生成JAR而不是WAR?

首先使用CXF教程遵循 合同,虽然pom.xml生成的源生成源甚至成功完成构建,但它无法创建WAR文件.

相反,它会创建一个JAR文件.

我的理解是pom.xml中负责创建WAR的部分是:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-war-plugin</artifactId>
  <version>2.1.1</version>
  <configuration>
    <outputDirectory>D:/path/to/profile/autodeploy</outputDirectory>
  </configuration>
 </plugin>
Run Code Online (Sandbox Code Playgroud)

我没有看到任何<goal><execution>元素(与build-helper-maven-plugin一个不同),但我也明白,使用这个插件这暗示,甚至官方使用页面演示:

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.4</version>
        <configuration>
          <webappDirectory>/sample/servlet/container/deploy/directory</webappDirectory>
        </configuration>
      </plugin>
    </plugins>
  </build>
  ...
</project>
Run Code Online (Sandbox Code Playgroud)

那么......我错过了什么?

什么可以解释一个maven-war-plugin像这样的意外行为,并默认生成一个JAR而不是一个WAR?

有没有办法强制它产生WAR?

maven-plugin maven-3 maven maven-war-plugin

5
推荐指数
2
解决办法
7475
查看次数

为什么TextToSpeech.getLanguage()*有时*会返回null?

在我的应用程序中,我在实例化TextToSpeech(根据LogCat约800ms )之后很好地调用TextToSpeech.getLanguage(),但它有时(并非总是)返回null,尽管在系统的TextToSpeech设置中正确设置了语言:

System Settings > Language & input > 
  Text-to-speech output > Google Text-to-speech > English (United Kingdom)
Run Code Online (Sandbox Code Playgroud)

这只发生在Jelly Bean(Android 4.1.1)中.在Android 2.2中不会发生这种情况.

这是一个已知的Android错误吗?或者我做错了什么?

我在我的应用程序的主要活动中实例化BTW,TextToSpeech:

new TextToSpeech(this, this); 
Run Code Online (Sandbox Code Playgroud)

实例化和对TextToSpeech.getLanguage()的调用 都在同一个线程中进行(因此保证了调用顺序).

android text-to-speech

5
推荐指数
1
解决办法
318
查看次数

多个确定/取消对话框,如何判断,在onClick()中,哪个对话框?

我创建了一个通用的OkCancelDialog类,可以通过静态方法在我的应用程序中方便地调用它:

  static public void Prompt(String title, String message) {
    OkCancelDialog okcancelDialog = new OkCancelDialog();
    okcancelDialog.showAlert(title, message);     
  }
Run Code Online (Sandbox Code Playgroud)

由于各种原因,我需要活动中的onClick监听器,所以在我的活动中:

  public void onClick(DialogInterface v, int buttonId) {
    if (buttonId == DialogInterface.BUTTON_POSITIVE) { // OK button
         // do the OK thing
    }
    else if (buttonId == DialogInterface.BUTTON_NEGATIVE) { // CANCEL button
         // do the Cancel thing
    }
    else {
      // should never happen
    }
  }
Run Code Online (Sandbox Code Playgroud)

这适用于应用程序中的单个对话框,但现在我想添加另一个确定/取消对话框,由同一活动处理.据我所知,只有一个onClick()可以为活动定义,所以我不知道如何实现这个.

有什么建议或提示吗?

android android-dialog

4
推荐指数
1
解决办法
1709
查看次数

为什么R.color.white不能用于Color.WHITE呢?

我正在尝试设置一个非常简单的布局背景:

  LinearLayout ll = (LinearLayout) findViewById(R.id.simple_layout);
Run Code Online (Sandbox Code Playgroud)

这有效:

  ll.setBackgroundColor(Color.WHITE);
Run Code Online (Sandbox Code Playgroud)

但这不是:

  ll.setBackgroundColor(R.color.white);
Run Code Online (Sandbox Code Playgroud)

是的,我验证了它R.color.white是在colors.xml文件下定义的/res/values.

我错过了什么?

android android-layout android-resources

3
推荐指数
1
解决办法
2813
查看次数

setContentView() 不足以在布局之间切换?

我有 2 个布局。

程序启动时,第一个加载(WebView)很好。

当用户选择菜单项时,第二个也会加载(一个简单的布局):

setContentView(R.layout.simple);
LinearLayout ll = (LinearLayout) findViewById(R.id.simple_layout);
Run Code Online (Sandbox Code Playgroud)

它所做的只是在后台处理某些内容的同时显示图像。处理完成后,它会尝试(通过 Handler)切换回它刚刚遮住的 WebView。

setContentView(R.layout.main);
Run Code Online (Sandbox Code Playgroud)

切换似乎发生了,但 webview 是空白的

这是为什么?setContentView()切换回第一个布局还不够,就像切换到第二个布局正常一样?

android android-layout

3
推荐指数
1
解决办法
7035
查看次数