I am developing my spring mvc application on a mac and tried different tomcat versions there. All worked fine.
When I deploy the war to a tomcat residing on centos 7, the application overall works fine as well. But there are some issues, I couldn't find the root cause for:
1) Symbols of font-awesome do not show on centos-tomcat. The font is provided by the war and I checked, that the references do work.
2) The unit tests during the build (jenkins on the centos machine) are getting some errors, when reading property files. It seems like some entries of that property files are not read. However, most entries work fine, and I don't see obvious differences.
3) a favicon of type *.ico could not be rendered. After renaming it to *.gif, it worked fine.
4) a third-party javascript produces odd results, which might be a consequence of 2)
Do you have some hints, what I could check?
I found the cause. In my pom.xml I had a filtering activated, which kept some resources out of the war file. When I tested locally, I started the application by eclipse and this error was not seen.
This change helped:
<webResources>
<resource>
<directory>src/main/webapp</directory>
<filtering>false</filtering>
</resource>
</webResources>
Related
We are for some time now trying to find a solution for server prerendering of SPA, specifically Angular4, for the purpose of SEO.
We have come to try and use aspnetcore-angular2-universal, which seems to be the perfect solution, however, we encounter problems deploying the published build to a local IIS server.
We have posted an issue regarding the problem on the issues page at which can be found here:
https://github.com/MarkPieszak/aspnetcore-angular2-universal/issues/491
We have followed the instruction under "Getting started" & "Deploy" (which can be found here: https://github.com/MarkPieszak/aspnetcore-angular2-universal) exactly but the error still exist.
The support is unresponsive on issues and thus we are posting also here.
The problem is (as mention in the issue linked here) that we get the following error:
Which indicates a problem with the web.config file. However the webconfig file is exactly as supplied in the starter project and seems also legit.
I should mention that building and running the project using npm build:prod and dotnet run works and we can lunch an in memory application from Visual Studio Code, however when taking the published folder to an IIS folder the error occurs.
Any help will be appreciated.
Did you installed .NET Core Windows Server Hosting bundle?
Check if AspNetCoreModule listed in IIS => Modules. Sometimes it not installed properly during #1, even if there was "Succeeded" at all steps. In that case I just removing it via Program & Features, and reinstalling it then.
Once I saw that error when manually copied web.config from sources over the publish folder. Problem is that original web.config contains placeholders like %LAUNCHER_PATH% and %LAUNCHER_ARGS%, which turns to appropriate values (dotnet and .\YourApp.dll for instance) during dotnet publish
Aperantly there were incompebilities between angular5 & universal in serverside.
The https://github.com/MarkPieszak/aspnetcore-angular2-universal seed was downgraded to using angular4.3 instead of 5. When we updated seed, the problem was solved.
i have to fight against a strange issue in my company. we have 2 .net 2.0 (old, i know) apps, which start with an .asmx-file. the code-behind calls a c#-file, which includes a include abcd directive, whereby abcd originates from a 3rd-party company.
one app is in test and it works fine. the identical one is in production and fails with the error Could not load file or assembly 'abcd.dll' or one of its dependencies. The specified module could not be found.
when i look in the related web.config-files, none of them includes a pointer to abcd.dll, which i first do not understand in the context of the productive environment, where everything works. secondly when i look inside the \bin-folder, i see the related assembly/dll. again: this is identical in both systems.
the only difference of both systems is the fact that visual studio 2.0 (does this really exist?) is available on the test system.
please note: i am aware that assemblies have to be added via solution explorer in visual studio too. but i cannot do this as such an installation is not allowed here. but again: in web.config on the test server no reference can be found in the related web.config and everythings works fine.
so my question is: how to get this thing working in productive env?
thanks in advance
You may want to run Dependency Walker (depends.exe) http://www.dependencywalker.com/ and point it at to detect if any dependencies are missing.
I'd also look in the GAC (C:\Windows\assembly) to see if there are any related differences there.
Also, compare IIS setting on the two machines.
I've encountered this issue several times, every time I change a dev machine, did a minor change, it re-publish everything even including images (jpg, png, gif), and the comparison windows shows no difference at all.
The "solution" is re-publish everything, then on this machine it will work correctly, however, once I change to another machine, same issue happen. I can't stand it any more...
This happens because by default Web Deploy uses file modification dates to check if the file needs to be copied to target. When you change dev pc you re-buiold everything effectively setting file modification timestamps to a newever date, than it was when publishing from old dev machine.
As of the new ASP.NET and Web Tools for Visual Studio 2013 Release you can configure your web peoject to use checksums instead of modification timestamps. This must solve your problem. - see http://msdn.microsoft.com/en-us/library/ee942158.aspx#use_checksum
Just modify your publich profile to include the following:
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<MSDeployUseChecksum>true</MSDeployUseChecksum>
<!— other settings omitted to keep the example short -->
<PublishDatabaseSettings>
<!— this section omitted to keep the example short -->
</PublishDatabaseSettings>
</PropertyGroup>
</Project>
I've hit a snag when trying to debug an AIR app using adl.
Although adl successfully launches, the application never appears on screen / starts up.
eg:
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
width="400" height="400"
preinitialize="trace('hello')">
<s:Label text="Hello, world" />
</s:WindowedApplication>
When launching this, the trace is never executed, and the application never appears on-screen.
Other points of interest:
The adl debugger does start (ie., I see it's icon in my dock)
I've tried this with adt from AIR 2.6 and AIR 2.7
This used to work on my machine, and has suddenly stopped (see below)
It makes no difference if I launch from Flash Builder, or by invoking the adt command line directly
I'm on a mac, running OSX 10.6.7
After this stopped working, I tried installing the FB 4.5.1 upgrade patch, in the hope that this would also update any local framework / SDK files to the latest version. This had no effect.
As I mentioned above, This used to work fine, and appears to have stopped.
Around the time that things stopped working, I was doing debugging on another app, which involved installing a firewall to block specific ports. I suspect it may be related to this.
However, I've since uninstalled all firewalls, and it still doesn't work. I'm not sure which port adt uses, but I don't see it attempting to connect when running lsof -i -n -P.
Any suggestions?
Update: I've also since uninstalled and reinstalled Flash Builder (and therefore, the AIR SDK), and it still doesn't work. I think this adds weight to the port conflict, but still leaves me unsure of where / how to proceed
Further update Compiling exactly the same codebase to a AIR installer, installing, and running the application works fine. (Ie., a production release). However, the codebase fails to launch with adl. This pretty much confirms the issue as a local machine config problem somewhere with adl, and not an issue with the codebase.
I have finally (7 weeks later) solved this problem.
In my mm.cfg file, the following line had been placed there by a Firefox extension:
PreloadSWF=/Users/martypitt/Library/Application Support/Firefox/Profiles/vxtpdg3i.default/extensions/flashfirebug#o-minds.com/chrome/content/flashfirebug/flashfirebug.swf
Deleting this made things work again.
I had a similar issue when debugging which was resolved by changing the encode settings from utf-8 to iso-8859-1 in the Debug Configuration Panel -> Common tab.
since it still doesn't work after you've uninstalled and reinstalled, the only thing that make sense to me is that the ADL preferences file is what is persisting the issue. this preference file doesn't get uninstalled when uninstalling Flash Builder as it's not apart of Flash Builder. i would try deleting the preference file and then restarting Flash Builder.
on Mac OS X, you can find the preference file here:
Marty Pitt > Library > Preferences > com.adobe.air.ADL.plist
I had the exact same issue. Tried everything above, and a few other items. What finally made it display was changing the command line arguments. Wow, who'da thunk it.
./adl -profile mobileDevice -screensize iPhoneRetina
webapp/Main-app.xml
I have the same Problem, but in fdt not flash builder. It works when launching with -nodebug parameter, but not when debugging. It seems to have to do something with flex 4.5.1, because when compiling with flex 4, everything works as expected!
edit: it is fixed in the latest flex sdk 4.6.0
I try to run an ASPX page hosted on a Windows Server 2008 x86 through IIS 7.0, with .NET 4.0. I added an application, app1, to the Default Web Site of IIS, mapped to dir C:\toto\app1 which contains the Web.config file.
The error I have is:
Could not load file or assembly 'xxx.dll' or one of its dependencies, etc
and xxx.dll is a .NET DLL that wraps native C++ DLLs (they are the dependencies that fail to be loaded), all of them are located in C:\toto\app1\bin. I tried to modify the PATH env variable so that it contained the bin directory (yes, I know it's bad :-) ), but this did not work anyway.
I guess there should be something at IIS application level, but I could not see what... Could you please help ?
Many thanks !
EDIT: copying the native DLLs in C:\windows\system32 actually works, but it's not a pleasant solution at all...
If its not GACd (which it doesn't appear to be), the simple answer is:
You need the external DLL to be in the bin\ directory of the application.
If you have it as a reference in VS2010, select it, go to properties, and set the CopyLocal value to True. Rebuild the application. This should cause that DLL to copy out to the bin and your app can reference without any other work.
Well, finally managed to make it work by copying the DLLs into windows\system32 directory (no idea why it did not wotk the 1st time, probably an error of mine...). The application\bin folders don't work, neither does the change of the PATH variable.
If anyone knows a better solution (I don't find this one brilliant at all, that can cause DLLs collision and so on), I'd be glad to hear it !
I think this will do the job.
Do this on the server.
Undo all the things you've done before doing this.
Go to START->RUN and type cmd then run the following command regsvr32 "C:\yourfolder\idrskrn_net14.dll" with the " included.
Enjoy!
I have exactly the same problem. The dll are in the webapp/bin directory but aren't loaded. I managed to put them in the inetpub/bin and there it runs fine. However there must be a behaviour that allows loading module in the webapp bin directory. Don't know how to setup this.
I have the same problem. If I browse the website locally on the server it works fine but when I browse it across the internet via the domain name it cannot find the DLL's that are in the bin folder of the site...