有没有办法使用Properties对象以一些格式保存Java中的属性?就像有没有办法在条目之间引入新的线条?或者每个键前的评论?
我知道这可以通过普通的I/O轻松完成,但想知道是否有一种方法可以使用属性对象.
我有以下配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>analyze</id>
<goals>
<goal>analyze-only</goal>
</goals>
<configuration>
<failOnWarning>false</failOnWarning>
</configuration>
</execution>
<!--Copy the dependencies so ant build has the same versions-->
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.basedir}/lib</outputDirectory>
<overWriteIfNewer>true</overWriteIfNewer>
<stripVersion>true</stripVersion>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>true</overWriteSnapshots>
<excludeTransitive>false</excludeTransitive>
</configuration>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
上面的配置会转储同一文件夹中的所有内容.我尝试通过添加测试配置来排除测试范围但是给出了错误:
未能执行目标org.apache.maven.plugins:Maven的依赖关系的插件:2.6:项目pcgen复制依赖(复制依赖):不能排除测试范围,这将排除一切.
有没有办法将测试依赖项与其他依赖项分开,以便我可以复制到不同的文件夹?
我正在使用jarbundler 2.2.0,正如其他答案所建议的那样,因为应用程序应该由Apple在JRE 1.6上运行.
捆绑似乎是正确的,显示适当的图标,但点击它不会做任何事情.如果我进入它的内容并尝试双击指定的主文件的jar工作正常.
有没有办法看到发生了什么?我可以看到某种错误或日志?
编辑 请求的Info.plist.由于代码是私有的,我用Application替换了一些东西:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<plist version="1.0">
<dict>
<key>CFBundleName</key>
<string>Application</string>
<key>CFBundleShortVersionString</key>
<string>2.2.0</string>
<key>CFBundleGetInfoString</key>
<string>Application version</string>
<key>CFBundleAllowMixedLocalizations</key>
<string>false</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleExecutable</key>
<string>JavaApplicationStub</string>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>beta</string>
<key>CFBundleIconFile</key>
<string>SynamicD.icns</string>
<key>CFBundleIdentifier</key>
<string>net.sourceforge.javydreamercsw</string>
<key>Java</key>
<dict>
<key>MainClass</key>
<string>net.sourceforge.javydreamercsw.Main</string>
<key>JVMVersion</key>
<string>1.6.*</string>
<key>ClassPath</key>
<array>
<string>$JAVAROOT/Application.jar</string>
<string>$JAVAROOT/lib\lib1.jar</string>
<string>$JAVAROOT/lib\lib2.jar</string>
</array>
<key>Properties</key>
<dict>
<key>apple.awt.textantialiasing</key>
<string>true</string>
<key>apple.awt.brushMetal</key>
<string>true</string>
<key>apple.laf.useScreenMenuBar</key>
<string>true</string>
<key>apple.awt.showGrowBox</key>
<string>true</string>
</dict>
</dict>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)
PkgInfo的内容:
APPL????
Run Code Online (Sandbox Code Playgroud)
在Application.app/Contents/MacOS上,我有Mac Machine的JavaApplicationStub.
产生的文件结构:
Application.app
|
---Contents
|
---Info.plist
---PkgInfo
---MacOS
|
| ---JavaApplicationStub …Run Code Online (Sandbox Code Playgroud) 我有一个工作持久性定义,适用于Java级别测试.现在我想将它合并到一个Web应用程序中,该应用程序在context.xml中将数据库连接定义为JNDI.我需要更改什么才能使它与JNDI而不是persistence.xml一起使用,或者至少从那里获取信息?
我有一个Vaadin 7 maven web项目,它有一些注释可以创建服务定义META-INF/services.
我将其添加到pom中以便处理注释:
<!-- Run annotation processors on src/main/java sources -->
<plugin>
<groupId>org.bsc.maven</groupId>
<artifactId>maven-processor-plugin</artifactId>
<version>3.3.1</version>
<executions>
<execution>
<id>process</id>
<goals>
<goal>process</goal>
</goals>
<phase>generate-sources</phase>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
文件显示在内,target/classes/META-INF/services但没有进入最后的战争.
我尝试将文件夹添加到maven-war-plugin,如下所示:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
<packagingIncludes>target/classes/*</packagingIncludes>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
但是大部分的Vaadin文件并没有进入战争,也没有用.任何的想法?
我按照提供的说明操作,但无法使用.我收到这个错误:
INFO: Widgetsets found from classpath:
com.vaadin.terminal.gwt.DefaultWidgetSet in jar:file:Z:/vaadin/vaadin-6.7.1.jar!/
org.vaadin.peter.contextmenu.ContextmenuWidgetset in jar:file:Z:/NetBeans/Xinco/2.01.xx/XincoLibs/ContextMenu3.1.0.jar!/
getAvailableWidgetSets
INFO: Search took 12ms
Exception in thread "main" java.io.IOException: The filename, directory name, or volume label syntax is incorrect
at java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.io.Win32FileSystem.canonicalize(Win32FileSystem.java:414)
at java.io.File.getCanonicalPath(File.java:589)
at com.vaadin.terminal.gwt.widgetsetutils.WidgetSetBuilder.updateWidgetSet(WidgetSetBuilder.java:79)
at com.vaadin.terminal.gwt.widgetsetutils.WidgetSetBuilder.main(WidgetSetBuilder.java:52)
Run Code Online (Sandbox Code Playgroud)
我发现了一个相关的错误,但它已被报道很长时间没有修复.除了自己检查/修改代码之外的任何想法?
编辑:仔细观察输出我注意到这个错误:
Compiling module org.vaadin.peter.contextmenu.ContextmenuWidgetset
Validating newly compiled units
[ERROR] Errors in 'file:/Z:/NetBeans/Xinco/3.00.xx/XincoLibs/Vaadin%20Addons/ContextMenu3-1-0/org/vaadin/peter/contextmenu/client/ui/VContextMenu.java'
[ERROR] Line 1: The declared package "org.vaadin.peter.contextmenu.client.ui" does not match the expected package "ContextMenu3-1-0.org.vaadin.peter.contextmenu.client.ui"
[ERROR] Line 5: The import …Run Code Online (Sandbox Code Playgroud) 我正在升级我的项目库,并将pdfbox从0.6.7升级到1.6.0版,找不到LucenePDFDocument类.Apache页面上的文档/教程中仍然提到了该类.有任何想法吗?
我正在尝试发布:为我的Maven应用程序执行,并且当Mercurial checkout作为流程的一部分时,它会失败.从命令提示符处尝试相同的命令会失败,但会提供更多详细信息:
hg clone -r Simple-Marauroa-0.02.05 https://javydreamercsw@bit
bucket.org/javydreamercsw/simple-marauroa-java "Z:\NetBeans\Simple Marauroa\Simp
le Marauroa Java\Simple Marauroa Parent\target\checkout"
adding changesets
adding manifests
adding file changes
added 226 changesets with 3379 changes to 2264 files
updating to branch default
abort: Z:\NetBeans\Simple Marauroa\Simple Marauroa Java\Simple Marauroa Parent\t
arget\checkout\Simple Marauroa Parent/Card Game Interface DataBase Implementatio
n/src/main/java/com/reflexit/magiccards/core/storage/database/controller/CardCol
lectionHasCardJpaController.java: The system cannot find the path specified
Run Code Online (Sandbox Code Playgroud)
起初我以为该文件不在存储库中,但确实如此.如果你想知道Z,是一个USB驱动器,但我已经能够从同一个驱动器发布较小的项目.在我的桌面上执行相同的命令工作正常.
这是在Windows 7上完成的,它似乎与我猜的长路径相关.
任何的想法?
我正在尝试设置jar清单,以便将所有库(jar)加载到jar旁边的文件夹中.
清单看起来像这样:
Manifest-Version: 1.0
Class-Path: libs/
Main-Class: path.to.my.class.Main
Run Code Online (Sandbox Code Playgroud)
布局如下:
- MyJar.jar
- libs/
-----lib1.jar
-----lib2.jar
Run Code Online (Sandbox Code Playgroud)
而我正试图这样运行:
java -jar MyJar.jar
Run Code Online (Sandbox Code Playgroud)
并且我在文件夹中的jar中获取有关类的NoClassDefinition错误.
如果有人好奇,该文件夹可能包含在类加载期间处理的可选jar.那个'swhy我不能使用硬编码或自动生成的.
任何的想法?
更新重新 提出问题,因为目前无法从清单本身进行此操作.答案是唯一真正可行的,不需要提取罐子,虽然它也有效.
因此,总结答案是否定的,如果您有未指定的依赖项,则无法单独使用清单文件.
我有一个工作代码,但并不总是有效。这是我的方法:
\n\n创建备份
\n\n从备份加载
\n\n在某些时候,我会使用 JPA 2 元数据来获取要复制的表并选择它们需要复制的顺序(由于约束)。
\n\n由于某种原因,这种方法并不总是有效,因为我看到“丢失”的条目未恢复。
\n\n这是代码:
\n\npackage com.bluecubs.xinco.core.server;\n\nimport java.io.File;\nimport java.io.FileInputStream;\nimport java.io.FileOutputStream;\nimport java.io.IOException;\nimport java.sql.DriverManager;\nimport java.sql.SQLException;\nimport java.text.SimpleDateFormat;\nimport java.util.Collection;\nimport java.util.Collections;\nimport java.util.Date;\nimport java.util.HashMap;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.logging.Level;\nimport java.util.logging.Logger;\nimport java.util.zip.ZipEntry;\nimport java.util.zip.ZipInputStream;\nimport java.util.zip.ZipOutputStream;\nimport javax.persistence.EntityManager;\nimport javax.persistence.EntityManagerFactory;\nimport javax.persistence.Persistence;\nimport org.apache.commons.io.FileUtils;\nimport org.apache.commons.io.filefilter.IOFileFilter;\nimport org.apache.commons.io.filefilter.TrueFileFilter;\n\n/**\n * This is a complex task and is heavily dependant on the architecture\n * of …Run Code Online (Sandbox Code Playgroud) java ×4
jpa ×2
bundle ×1
clone ×1
compilation ×1
dependencies ×1
formatting ×1
jar ×1
jndi ×1
macos ×1
manifest ×1
maven ×1
maven-2 ×1
maven-3 ×1
mercurial ×1
netbeans ×1
pdfbox ×1
persistence ×1
properties ×1
vaadin ×1
vaadin7 ×1
war ×1
widget ×1
windows-7 ×1