Причина в том, что они разные, потому что они разные вещи. Первое изображение - это окно настроек исходных учетных записей GNOME, которое не позволяет приложениям или подключаемым модулям добавлять поддержку других служб. Второй - модифицированный в Ubuntu, который допускает такие возможности.
Однако, на самом деле, ни один из них не имеет ничего общего с поддержкой Webapps в Unity. Если вы хотите включить поддержку Unity Webapps для GMail, перейдите на https://gmail.com/ и выберите возможность интеграции в Ubuntu, когда появится всплывающее окно в браузере. вверх. Это добавит значок в панель запуска и должен показать количество сообщений в индикаторе сообщений и т. Д.
Две возможности я могу думать.
1) Набор статическая ссылка. (Статическая переменная, хотя обычно осуждено, в порядке в этом случае, потому что может только быть 1 вызов командной строки).
public class MyApp {
public static String[] ARGS;
public static void main(String[] args) {
ARGS = args;
// create context
}
}
можно тогда сослаться на параметры командной строки в Spring через:
<util:constant static-field="MyApp.ARGS"/>
, Кроме того (если Вы абсолютно настроены против статических переменных), Вы можете:
2) Программно добавляют args к контексту приложения:
public class MyApp2 {
public static void main(String[] args) {
DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory();
// Define a bean and register it
BeanDefinition beanDefinition = BeanDefinitionBuilder.
rootBeanDefinition(Arrays.class, "asList")
.addConstructorArgValue(args).getBeanDefinition();
beanFactory.registerBeanDefinition("args", beanDefinition);
GenericApplicationContext cmdArgCxt = new GenericApplicationContext(beanFactory);
// Must call refresh to initialize context
cmdArgCxt.refresh();
// Create application context, passing command line context as parent
ApplicationContext mainContext = new ClassPathXmlApplicationContext(CONFIG_LOCATIONS, cmdArgCxt);
// See if it's in the context
System.out.println("Args: " + mainContext.getBean("args"));
}
private static String[] CONFIG_LOCATIONS = new String[] {
"applicationContext.xml"
};
}
Парсинг параметров командной строки оставляют как осуществление читателю.
Можно также передать Объектный массив как второй параметр к getBean
, который будет использоваться в качестве аргументов конструктору или фабрике.
public static void main(String[] args) {
Mybean m = (Mybean)context.getBean("mybean", new Object[] {args});
}
Вот пример для начальной загрузки, полоска кидаются за Основным методом, просто захватывают переданные параметрические усилители, поскольку нормальный тогда делают функцию, Вы обращаетесь к своему бобу (в случае deployer.execute ()), берут их в качестве Строк, или через любой формат Вы чувствуете себя подходящими.
public static void main(String[] args) throws IOException, ConfigurationException {
Deployer deployer = bootstrapSpring();
deployer.execute();
}
private static Deployer bootstrapSpring()
{
FileSystemXmlApplicationContext appContext = new FileSystemXmlApplicationContext("spring/deployerContext.xml");
Deployer deployer = (Deployer)appContext.getBean("deployer");
return deployer;
}