I deploy a war to my Tomcat 6.0.35 on Win7 64bit and when I use full-interface query page (I mean form.jsp) in Solr Admin to query 2 Chinese character (say it's C1C2) , the debug info shows:
<lst name="debug">
<str name="rawquerystring">æ°è</str>
<str name="querystring">æ°è</str>
<str name="parsedquery">NEWSID:æ°è</str>
<str name="parsedquery_toString">NEWSID:æ°è</str>
...
You can see C1C2 becomes æ°è. I deploy same war file to Tomcat on Linux or on another Win7 64bit of my colleagues' computer, the encoding acts well. Does anyone know why and how can I avoid this problem?
Thanks in advance!
I solved the problem. The evil is Win7's File Virtualization feature. By default, Win7 will enable this feature on several well-known folders, e.g. Windows, Program Files, ProgramData, etc. The effect is that under some conditions, a file will have dual contents and this just happen to occur on my server.xml.
The workaround is clean things in 'c:\Users\<user account>\AppData\local\VirtualStore'. The long-time solution is "Don't install Tomcat in these well-know folders. If you insist, be sure not to install-'n-uninstall too many times."
~~~ How I find this problem (you may not need to see this) ~~~
Two words: "Pure luck". When I use some xml editor to edit tomcat-users.xml and add a user 'test'. I restart Tomcat but can't login to use manager UI. I recheck tomcat-users.xml and see that user is indeed set. Even I uninstall-'n-install different version of Tomcat, login still fails.
Then I use notepad to edit tomcat-users.xml and I'm astonished to see it's the original version Tomcat has installed. After editing it with notepad and restart Tomcat, I can login now.
Very quickly, my thoughts flashes to server.xml and I use notepad to see it. Ah Ha! There's no URIEncoding attrbutes in connector tag. After fixing it, The problem is solved.
Eiplog
In my case, my xml editor and IE both show wrong version, but my other browers and notepad show correct version. I still don't know what algorithm does Win7 uses on File Virtualization, so I think workaround will live for a while.
Related
I'm trying to install Netbeans 8.2 Java EE, but whenever I start the installer it quits after configuring it. I am trying to install it on Windows 10 64-bit.
This is not going to make sense at all, but do you happen to have the "God Mode" item on your desktop? Take it off the desktop (delete it, move it somewhere else, whatever). I have no idea why, but it worked for me: I found the solution in this bug report - https://netbeans.org/bugzilla/show_bug.cgi?id=269988
I do hope this helps you, too.
This is an Java issue, which was came up due to recent windows 10 update, that started treated differently for GodMode folder/shortcut.
This has been already fixed - https://bugs.openjdk.java.net/browse/JDK-8179014
You can verify the fix in early access build of JDK8 update 152, which is available here
We have verified the issue only with GodMode, do let us k now if there are any other scenarios that can cause such similar issues.
I'm adding this because: I had a different issue which I was unable to find addressed anywhere, this question appears near the top of a web search for "NetBeans 8.2 ee won't install on Windows 10", and someone else may have the problem I had.
My NetBeans install was almost immediately crashing with the following error:
An unexpected exception happened in thread main
Exception: javax.xml.parsers.FactoryConfigurationError: Provider for
class javax.xml.parsers.DocumentBuilderFactory cannot be created
In my Windows 10 System Properties -> Environment Variables -> System Variables, I had a previously created _JAVA_OPTIONS variable values using -Xbootclasspath/a to append some jar files to the end of the bootstrap class path. These files are used with some work I'm doing with the Oracle BI Publisher plug-in for Microsoft Word.
As soon as I renamed the _JAVA_OPTIONS variable to something else, my NetBeans installation started normally and completed with no issues.
After NetBeans installation, I reset the name of this variable back to _JAVA_OPTIONS, and discovered that the values I have for this System Variable cause NetBeans launch to crash. (Which does not completely make sense to me since I am only appending these files/classes to the class path, and not overwriting.)
Regardless, I'll have to go back to the drawing board for my work with the BI Publisher plug-in; but at least I can use NetBeans now!
Uninstall any Java installations along with NetBeans, and install Java with NetBeans (bundle) from the Oracle website.
I had the same issue, and then installed the bundle, works perfectly.
for the past several days I've been experiencing this error, while publishing to either JBoss EAP 6.3 or Wildfly 8.2 from Eclipse.
Error renaming D:\Servers\wildfly-8.2.0.Final\standalone\tmp\tmp9064011157118650757.jar
to D:\Servers\wildfly-8.2.0.Final\standalone\deployments\BusinessService.war\WEB-INF\lib\spring-web-4.2.3.RELEASE.jar.
This may be caused by incorrect file permissions, or your server's temporary deploy
directory may be on a different filesystem than the final destination. You may adjust
these settings in the server editor.
The problem occurs when I "Add and Remove..." projects from the server, then try to publish them, so the server can start.
I've experienced this issue on two different machines (home (Wildfly) and work (JBoss EAP)).
I'm using:
Windows 7 / 10
Eclipse Mars / Luna
JBoss Tools plugin 4.3 / 4.2
JDK 1.8.0.66 / 1.8.0.65
Maven
Building with maven from Eclipse and from the command line makes no difference. The server is configured to deploy projects as compressed archives. On both machines my user has administrator rights and has full rights on the server directory.
So far I've tried:
recreating the server multiple times with different configurations
using a newly created workspace
reinstalling JBoss Tools
reinstalling Eclipse
using different JDK versions
I'm really at a loss here and I don't know how to proceed in resolving this issue. Please help.
If you are using Windows, the path could get too long and can cause this error. A simple fix is to move WildFly closer to the root.
I had the same problem and solved it like this:
First of all, stop Server (Servers->WildFly(rigth click)->Stop), than clean. So you can run server again.
I had this problem several times in my new windows 10 machine that my employer gave me. Since I did not have admin rights it was a hectic process to troubleshoot this issue. Simple fix would be moving JBOSS_HOME closer to root. However, you need to do a proper restart of your eclipse. I rather recommend a complete restart of your computer because after all you are going to change JBOSS_HOME in windows environmental variables.
This is related to permissions issue on wildfly folder. Allow full control to the wildfly folder.
https://issues.jboss.org/browse/JBIDE-18697
I have moved the wildfly home to reduce the overall path length, and also removed any non-alphanumeric characters from the folder name (like "-" and "." ) . This worked for me, everything else (removing tmp, deployment, rebooting wildfly, rebooting eclipse, rebooting computer) failed.
I also suspect that the issue was stemming from running Wildfly from a ConEmu and/or git bash shell. Running from a plain CMD shell seems more robust.
I also got stuck with the same problem. I tried the below steps and it worked:
Clear the deployments and tmp folder in standalone folder in wildfly folder.
Delete the server and again add the server
Make a build of the project and start the server after successful build.
This is a terribly annoying error that either the Eclipse team or Redhat need to fix.
The solution is to close Eclipse, right click on the icon -> Run As Administrator. This solved it for me.
I am trying to use eclipse kepler for Java EE 7.I already installed JBoss Tools and added JBoss Wildfly successfully as a server. However my changes are not automatically deployed. Is there anyway the app can be deployed automatically just as when using glassfish?
Using Eclipse, click twice on your WildFly Server to edit the following properties:
Publishing: choose "Automatically publish after a build event". I like to change the publishing interval to 1 second too.
Application Reload Behavior: check the "Customize application reload ..." checkbox and edit the regex pattern to \.jar$|\.class$
That's it. Good luck!
Both #varantes and #Sean are essentially correct, but these answers are not full.
Unfortunately the only way in a Java server environment to have full, zero-downtime hot deployment is to use paid JRebel or free spring-loaded tool.
But for small project there are some ways to speed up work by partial hot-deployment. Essentially:
When enabled option Automatically publish when resource change
then changes inside *.html, *.xhtml files are immediately
reflected as soon as you refresh the browser.
To make hot deployment work for *.jsp files too, then you should
inside ${wildfly-home}/standalone/configuration/standalone.xml
make following change:
<jsp-config/>
replace with:
<jsp-config development="true"/>
restart the server and enjoy hot deployment of web files.
But when modifying *.java source files, then only partial hot deployment is possible. As #varantes stated in his answer, enabling Application Reload Behavior with regex pattern set to \.jar$|\.class$ is an option, but has serious downside: whole module is restarted, thus:
It takes some time (depending on how big is a module).
Whole application state is lost.
So personally, I discourage this solution. JVM supports (in debug mode) code-swapping for methods' bodies. So as long as you are modifying only bodies of existing methods, you are at home (zero downtime, changes are reflected immediately). But you have to disable automatic publishing inside server settings otherwise the application's state will still be destroyed by that republish.
But if you are heavily crafting Java code (adding classes, annotations, constructors) then unfortunately I can only recommend set publishing into Never publish automatically (or shutdown server) and when you finish your work in Java files, then restart by hand your module (or turn-on server). Up to you.
It works for small Java projects, but for bigger ones, JRebel is invaluable (or just spring-loaded), because all approaches described above are not sufficient. Also because of such problems, solutions like Rails/ Django /Play! Framework gained so huge popularity.
I am assuming you are using the latest version of Wildfly (8.0 Beta 1 as of writing).
In the standalone.xml config file, look for <jsp-config/>. Add the attribute development="true" and it should hot-deploy. The resulting config will look like this:
<jsp-config development="true"/>
Add attributes (development, check-interval, modification-test-interval, recompile-on-fail) in configuration file in xPath = //servlet-container/jsp-config/
<servlet-container name="default" default-buffer-cache="default" stack-trace-on-error="local-only">
<jsp-config development="true" check-interval="1" modification-test-interval="1" recompile-on-fail="true"/>
</servlet-container>
(It works in WildFly-8.0.0.Final)
Start server in debug mode and It will track chances inside methods. Other changes It will ask to restart the server.
I'm sorry if this question annoys you. I've written an EJB-based application and now I want to deploy it as a single Exe file (not a War file). That means if that Exe file's executed, all related things such as the web server, the database server, ... will be automatically installed to enable my application run smoothly. The JIRA installer's a typical example (http://www.atlassian.com/try).
I've googled a lot but I can't find the right answer. Would you please tell me how I can achieve that?
Glassfish has a embedded Java ee container: http://embedded-glassfish.java.net That will allow you to embedd a Webserver and database into your app (infact a complete Java EE container).
The next step would be to embedd a a java-runtime and bundle it with above as an exe. I havnt tried that. But start with the above step and see if it is enough, then start by reading about this: Embed a JRE in a Windows executable?
Is it possible to activate full autocompletion without having the file added to a project?
Maybe with a plugin or any another modification?
I installed the plugin "remote file systems" for netbeans 6.9.1 (php)
(http://www.stoehrer.net/downloads/remotefs/nb-remotefs-0.1.3.zip) to access my linux server over ssh on my windows machine.
Autocompletion doesn't work with it - the files have to be in a netbeans project :(
I also tried the mounting tool "dokan" but sometimes it destroys a file when I save.
Other mounting tools work less well or just show my home folder.
Sorry for my english and thx for your answer.
coudnt solve the problem that way
so i used samba and add the files to a netbeans project
wasnt easy because for some reason
i have to use the ip path ("\\192.168.xx.xxx" and type my smbuser and the password)
to map the drive in windows
on my other pc i didnt need that. dont know why
bye guys
There is an open bug, or as they have called it, the umbrella issue #135222, to aggregate requests and ideas regarding how to
Improve support for editing files that do not belong to a project.
I have just added the suggestion of somehow allowing to define a classpath for files that don't belong to any project. I hope I can soon update this answer with a "there is a better way..." ;-)