以上就是给各位分享在Mac上的JavaSwing应用程序中使用现在不建议使用的com.apple.eawt.ApplicationAdapter的替代方法是什么?,同时本文还将给你拓展AppleJav
以上就是给各位分享在Mac上的Java Swing应用程序中使用现在不建议使用的com.apple.eawt.ApplicationAdapter的替代方法是什么?,同时本文还将给你拓展Apple Java Extensions(com.apple.eawt)如何使用JDK 7及更高版本?、Application application_1512618719369_147804 failed 2 times due to ApplicationMaster for attempt app、applicationId和packageName,以及在Manifest中使用${applicationId}写法、ApplicationListener ApplicationContextAware ApplicationEvent使用等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:- 在Mac上的Java Swing应用程序中使用现在不建议使用的com.apple.eawt.ApplicationAdapter的替代方法是什么?
- Apple Java Extensions(com.apple.eawt)如何使用JDK 7及更高版本?
- Application application_1512618719369_147804 failed 2 times due to ApplicationMaster for attempt app
- applicationId和packageName,以及在Manifest中使用${applicationId}写法
- ApplicationListener ApplicationContextAware ApplicationEvent使用
在Mac上的Java Swing应用程序中使用现在不建议使用的com.apple.eawt.ApplicationAdapter的替代方法是什么?
看起来苹果已经弃用了我的应用正在使用的api。不知道如何解决此问题。具体用法可以在这里看到:
http://code.google.com/p/jarzilla/source/browse/trunk/jarzilla/src/main/java/com/googlecode/jarzilla/Jarzilla.java#192
答案1
小编典典好的,经过一番谷歌搜索后,我得到了API文档(对我来说是第二个命中),它的第一句中包含:
不推荐使用。
替换为AboutHandler,PreferencesHandler,AppReOpenedListener,OpenFilesHandler,PrintFilesHandler,QuitHandler,QuitResponse。
(带有提到的接口和类的链接)。
因此,看起来您不应使用一个对象作为该抽象类的子类,而应将多个对象用于不同的用途,并使用Application对象对其进行注册。
Apple Java Extensions(com.apple.eawt)如何使用JDK 7及更高版本?
我正在寻找几个小时,使Apple Java Extensions在JDK 7或8上工作.我一直在努力尝试所有的想法.互联网上的所有线程关于这个简单地指责JDK.我认为这应该是可以解决的,因为它在JDK 6中有效.为了清楚起见,我可以使其在JDK 6中工作,但是我不希望这个遗留依赖关系,因为不是所有使用我的应用程序的人都有JDK 6或者知道安装吧,让我们说.目标是使用可安装的每个版本的Java(大于JDK 6)的操作系统X功能(菜单栏,手势,处理程序等)运行的双击可用JAR文件.
解决方法
看看这里:
https://github.com/mcourteaux/MultiTouch-Gestures-Java
Application application_1512618719369_147804 failed 2 times due to ApplicationMaster for attempt app
今天遇到一个特别怪的问题,之前etl中的hive任务一直报错,持续一上午,也没有查出原因,错误的任务的日志也找到,原本可以找到原因,但是打开日志,心里面一凉,什么报错也没有,不知所错。最后观察报错的节点,最终集中到两台机器,那就看看是不是这两台机器的hadoop的程序引起的吗?看看他们的程序都在,但是查看nodemanager的日志一直报错,并且查看cpu,nodemanager进程占用的cpu达1000%多,马上眼前一亮,知道cpu占用太多,导致ap不能联系,导致任务失败,最后把这两台机器的nodemanager重启一下,观察了一下,任务不在报错。继续努力.............
applicationId和packageName,以及在Manifest中使用${applicationId}写法
1. 前言
- 本文资料来源网络公开资源,并根据个人实践见解纯手打整理,如有错误请随时指出。
- 本文主要用于个人积累及分享,文中可能引用其他技术大牛文章(仅引用链接不转载),如有侵权请告知必妥善处理。
2. applicationId
和packageName
2.1. IDE
为Eclipse
时
applicationId
基于gradle编译,Eclipse IDE
不存在applicationId
,也不能使用它,请忽略。
2.2. IDE
为Android Studio
时
2.2.1 applicationId
- 理论上来讲
applicationId
是android
设备以及google play
所公认的唯一标示。 - 若未配置
applicationId
时,google play
无法上线(据查) - 配置
applicationId
可以用作同一工程发布略有差异的不同apk
,比如收费版和免费版、代码相同标示不同的渠道包等。 -
配置方法(在
app
的build.gradle
中):-
一般配置
android { ...... defaultConfig { applicationId "sp.com.learncomposite" ...... } }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
-
设置不同的
applicationId
配置
其中关于productFlavors
的应用可以参考这篇文章很详细:链接,或者参考官方文档:链接1,链接2。android { ...... productFlavors { pro { applicationId = "sp.com.learncomposite.pro" } free { applicationId = "sp.com.learncomposite.free" } } buildTypes { ...... debug { applicationIdSuffix ".debug" } } }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
-
-
当
release
打包时,在签名界面,可以选择你将要打出的包,也可以多选并同时打出:
-
当
debug
调试时,可以再Android studio
左下角的Build Variants
标签中选择当前调试的是哪个包:
2.2.2 packageName
- 将仅被代码(如资源文件
R.java
)或Manifest
清单中声明(如类的包路径和packageName
相同时,activity
的name
缩写为”.xxxActivity
“)使用。
2.2.3 两者纠缠的关系
- 当
applicationId
不存在时,applicationId
将默认为packageName
。 - 当
applicationId
存在时,packageName
仅有其本身的功能,而applicationId
将作为唯一标示。
3. 在Manifest
中使用${applicationId}
-
如
Provider
在声明android:authorities
(该值必须唯一)时,如前缀为写死的包名字符串,当出现需要同一工程分包、分渠道打包时,安装在同一android
设备将导致INSTALL FAILED CONFLICTING PROVIDER
的报错(使用adb
安装会有提示),这时可以使用${applicationId}
,这将避免android:authorities
值非唯一的问题。<provider android:name="xxxx.xxxx.xxx.xxxProvider" android:authorities="${applicationId}.xxxx" android:grantUriPermissions="true" android:exported="false"/>
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
-
${applicationId}
也可以用在Manifest
中其他需要唯一的取值情况,这种使用方式很灵活。
ApplicationListener ApplicationContextAware ApplicationEvent使用
AppCacheContext.JAVA
方法一:implements ApplicationListener
@SuppressWarnings("rawtypes")
public class AppCacheContext implements ApplicationListener{
Logger logger = LoggerFactory.getLogger(AppCacheContext.class);
@Autowired
private static AppCacheContextDao cacheDao;
public void onApplicationEvent(ApplicationEvent event) {
Class<? extends ApplicationEvent> clazz = event.getClass();
System.out.println(clazz.getName());
if(event instanceof ContextRefreshedEvent){
ApplicationContext appcontext = ((ApplicationContextEvent) event).getApplicationContext().getParent();
if(appcontext != null){
try {
// 数据字典初始化
initDicDetailCache();
logger.info("----------------数据字典初始化完成----------------------");
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}
方法二:ApplicationListener<ContextRefreshedEvent>
@SuppressWarnings("rawtypes")
public class AppCacheContext implements ApplicationListener<ContextRefreshedEvent>{
Logger logger = LoggerFactory.getLogger(AppCacheContext.class);
@Autowired
private static AppCacheContextDao cacheDao;
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
ApplicationContext appcontext = event.getApplicationContext().getParent();
if(appcontext != null){
try {
// 数据字典初始化
initDicDetailCache();
logger.info("----------------数据字典初始化完成----------------------");
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
在ApplicationListener<ContextRefreshedEvent>使用时,会存在一个问题,在web 项目中(spring mvc),系统会存在两个容器,一个是root application context (过程中) ,另一个就是我们自己的 projectName-servlet context(作为root application context的子容器,初始完成之后)。这种情况下,就会造成onApplicationEvent方法被执行两次。根据自己的需求使用。
上述例子是初始化缓存,在完成之后执行。
解决办法可参考:https://my.oschina.net/u/2369810/blog/682899?nocache=1501657886165
今天关于在Mac上的Java Swing应用程序中使用现在不建议使用的com.apple.eawt.ApplicationAdapter的替代方法是什么?的分享就到这里,希望大家有所收获,若想了解更多关于Apple Java Extensions(com.apple.eawt)如何使用JDK 7及更高版本?、Application application_1512618719369_147804 failed 2 times due to ApplicationMaster for attempt app、applicationId和packageName,以及在Manifest中使用${applicationId}写法、ApplicationListener ApplicationContextAware ApplicationEvent使用等相关知识,可以在本站进行查询。
本文标签: